diff --git a/scripts/pre_assim.py b/scripts/pre_assim.py
index 24cfa20bce1ea07f1c0091ed7f79b1478131c38d..707ff6454836407869030b5e6309cc929008ca4d 100755
--- a/scripts/pre_assim.py
+++ b/scripts/pre_assim.py
@@ -2,6 +2,7 @@ import os, sys, shutil
 import datetime as dt
 from config.cfg import exp, cluster
 from utils import symlink, copy_scp_srvx8, copy, sed_inplace
+import wrfout_add_geo
 
 def run(assim_time, background_init_time, exppath_firstguess):
     #if cluster.name != 'srvx8':
@@ -22,6 +23,9 @@ def run(assim_time, background_init_time, exppath_firstguess):
         symlink(wrfout_run, wrfout_dart)
         symlink(wrfout_dart, dart_ensdir+'/wrfinput_d01')
 
+        # this seems to be necessary (else wrong level selection)
+        wrfout_add_geo.run(cluster.dartrundir+'/geo_em.d01.nc', wrfout_dart) 
+
     fpath = cluster.dartrundir+'/input_list.txt'
     print('writing', fpath)
     os.remove(fpath)
@@ -53,4 +57,4 @@ if __name__ == '__main__':
     background_init_time = dt.datetime.strptime(sys.argv[2], '%Y-%m-%d_%H:%M')
     exppath_firstguess = str(sys.argv[3])
 
-    run(assim_time, background_init_time, exppath_firstguess)
\ No newline at end of file
+    run(assim_time, background_init_time, exppath_firstguess)