diff --git a/CHANGES.txt b/CHANGES.txt
index 5db79f2b6e2b4281e3fe560db7c6080184290a4c..90d25f67cae2b55c68ed4de4dda047b7ec7b6ff0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,14 @@ Make Experiments!
 Release Changes
 ---------------
 
+Release 1.0.10
+==============
+
+Global
+------
+
+* Changed directory creation to only create parts w/o native variables
+
 Release 1.0.9
 =============
 
diff --git a/mkexp b/mkexp
index 8e757fd58283d14614334be5d6ee8d05f6d61cf2..05acf69bb90bf31f42536646459d04100527bd12 100755
--- a/mkexp
+++ b/mkexp
@@ -378,6 +378,9 @@ except ExpConfigError as error:
 
 # Create target directories
 
+def cut_dir_variable(directory):
+    return re.sub(os.sep + r'[^' + os.sep + r'$]*\$\{\w+\}.*$', '', directory)
+
 # Create directory for scripts if it doesn't exist
 script_dir = config['SCRIPT_DIR']
 print "Script directory: '"+script_dir+"'"
@@ -392,20 +395,28 @@ else:
 
 # Create directory for output data if it doesn't exist
 data_dir = config['DATA_DIR']
-print "Data directory: '"+data_dir+"'"+(" (not created)" if not args.make_dirs else "")
+data_cut = cut_dir_variable(data_dir)
+print "Data directory: '"+data_dir+"'"+(
+    " (not created)" if not args.make_dirs else "")
 if args.make_dirs:
-    if not os.path.isdir(data_dir):
-        os.makedirs(data_dir)
+    if data_dir != data_cut:
+        feedback.warning("only considering non-variable part of directory")
+    if not os.path.isdir(data_cut):
+        os.makedirs(data_cut)
     elif not script_dir.startswith(data_dir):
         feedback.warning("data directory already exists")
 
 # Create directory for running the experiment if it doesn't exist
 work_dir = config['WORK_DIR']
+work_cut = cut_dir_variable(work_dir)
 if work_dir != data_dir:
-    print "Work directory: '"+work_dir+"'"+(" (not created)" if not args.make_dirs else "")
+    print "Work directory: '"+work_dir+"'"+(
+        " (not created)" if not args.make_dirs else "")
     if args.make_dirs:
-        if not os.path.isdir(work_dir):
-            os.makedirs(work_dir)
+        if work_dir != work_cut:
+            feedback.warning("only considering non-variable part of directory")
+        if not os.path.isdir(work_cut):
+            os.makedirs(work_cut)
         else:
             feedback.warning("work directory already exists")