diff --git a/bin/dunecontrol b/bin/dunecontrol
index 82265cc222270d8a4b6d11f4405d950d93411163..1826697c1ad47be42070d80d7fea60e7c8186b5f 100755
--- a/bin/dunecontrol
+++ b/bin/dunecontrol
@@ -79,7 +79,6 @@ if test "x$DEBUG" = "xyes"; then
 fi
 
 export PREFIX_DIR="`canonicalpath $0`/.."
-export RESUME_FILE="$HOME/.dune.resume"
 
 # Read the modules find part
 . "$PREFIX_DIR/lib/dunemodules.lib"
@@ -475,15 +474,36 @@ usage () {
 
 # create the module list
 create_module_list() {
+  export RESUME_FILE="$HOME/.dune.resume"
+  if test "x$DUNE_OPTS_FILE" != "x"; then
+    export RESUME_FILE="$(eval . $DUNE_OPTS_FILE; eval echo \$RESUME_FILE)"
+  fi
+
+  if test "x$RESUME_FLAG" = "xyes" ; then
+    if test -s $RESUME_FILE ; then
+      export MODULES=
+      RESUME="`cat $RESUME_FILE`"
+      for a in $RESUME ; do
+        export NAME_`fix_variable_name $a`="$a"
+        fix_and_assign MODULE "$a"
+        export SEARCH_MODULES="$SEARCH_MODULES $MODULE"
+        export ONLY="$ONLY $MODULE"
+      done
+    else
+      echo "Error: No previous run to resume. ('$RESUME_FILE' is empty or does not exist)"
+      exit 1
+    fi
+  fi
+
   find_modules_in_path
-  if test "x$SEARCH_MODULES" != "x"; then
+  if test "x$ONLY" != x; then
+    export MODULES="$ONLY"
+  elif test "x$SEARCH_MODULES" != "x"; then
     sort_modules $SEARCH_MODULES
   else
     sort_modules $MODULES
   fi
-  if test "x$ONLY" != x; then
-    export MODULES="$ONLY"
-  fi
+
   if test "x$SKIPFIRST" = "xyes" ; then
     export MODULES=`echo $MODULES | cut '--delimiter= ' --fields=2-`
   fi
@@ -506,6 +526,7 @@ trap onfailure EXIT
 export SEARCH_MODULES=""
 export MODULES=""
 export ONLY=""
+export RESUME_FLAG=no
 export SKIPFIRST=no
 
 # parse commandline parameters
@@ -608,18 +629,7 @@ while test $# -gt 0; do
       export HAVE_${module}=
     ;;
     --resume)
-      if test -s $RESUME_FILE ; then
-        RESUME="`cat $RESUME_FILE`"
-        for a in $RESUME ; do
-          export NAME_`fix_variable_name $a`="$a"
-          fix_and_assign MODULE "$a"
-          export SEARCH_MODULES="$SEARCH_MODULES $MODULE"
-          export ONLY="$ONLY $MODULE"
-        done
-      else
-        echo "Error: No previous run to resume. ('$RESUME_FILE' is empty or does not exist)"
-        exit 1
-      fi
+      export RESUME_FLAG="yes"
     ;;
     --skipfirst)
       export SKIPFIRST=yes