diff --git a/Common/CreateFile.cpp b/Common/CreateFile.cpp
index f7b943f13d544ba39a320c8630481fc221c6329e..5b94aeb68d273b3ade574febcf49b486fd8eca3e 100644
--- a/Common/CreateFile.cpp
+++ b/Common/CreateFile.cpp
@@ -222,7 +222,8 @@ static void change_print_parameter(int frame)
   ParseString(CTX::instance()->print.parameterCommand);
 }
 
-void CreateOutputFile(const std::string &fileName, int format, bool status)
+void CreateOutputFile(const std::string &fileName, int format,
+                      bool status, bool redraw)
 {
   std::string name = fileName;
   if(name.empty()) name = GetDefaultFileName(format);
@@ -238,7 +239,7 @@ void CreateOutputFile(const std::string &fileName, int format, bool status)
   switch (format) {
 
   case FORMAT_AUTO:
-    CreateOutputFile(name, GuessFileFormatFromFileName(name), false);
+    CreateOutputFile(name, GuessFileFormatFromFileName(name), false, false);
     break;
 
   case FORMAT_OPT:
@@ -566,7 +567,8 @@ void CreateOutputFile(const std::string &fileName, int format, bool status)
         if(cycle == 2)
           change_print_parameter(i);
         if(fp)
-          CreateOutputFile(CTX::instance()->homeDir + frames[i], FORMAT_PPM, false);
+          CreateOutputFile(CTX::instance()->homeDir + frames[i], FORMAT_PPM,
+                           false, false);
         else{
           drawContext::global()->draw();
           SleepInSeconds(CTX::instance()->post.animDelay);
@@ -629,6 +631,6 @@ void CreateOutputFile(const std::string &fileName, int format, bool status)
     Msg::StatusBar(true, "Done writing '%s'", name.c_str());
 
 #if defined(HAVE_OPENGL)
-  drawContext::global()->draw();
+  if(redraw) drawContext::global()->draw();
 #endif
 }
diff --git a/Common/CreateFile.h b/Common/CreateFile.h
index 15cf0a5572ae7750a89c119a561237ed45401a30..932654efb52cb50b3293c61be553735a0f4ec0c9 100644
--- a/Common/CreateFile.h
+++ b/Common/CreateFile.h
@@ -11,6 +11,7 @@
 int GetFileFormatFromExtension(const std::string &fileName);
 int GuessFileFormatFromFileName(const std::string &fileName);
 std::string GetDefaultFileName(int format);
-void CreateOutputFile(const std::string &fileName, int format, bool status=true);
+void CreateOutputFile(const std::string &fileName, int format,
+                      bool status=true, bool redraw=true);
 
 #endif
diff --git a/Fltk/fileDialogs.cpp b/Fltk/fileDialogs.cpp
index de54b3365140c96e45e7bb70791b1ed1ac68cd2f..e2d294184bfc146c1de27b3cc987cc744410bb9c 100644
--- a/Fltk/fileDialogs.cpp
+++ b/Fltk/fileDialogs.cpp
@@ -500,7 +500,7 @@ int mpegFileDialog(const char *name)
         opt_print_delete_tmp_files(0, GMSH_SET | GMSH_GUI, (int)dialog->c[2]->value());
         int format = (o == dialog->preview) ? FORMAT_MPEG_PREVIEW : FORMAT_MPEG;
         dialog->buttons->deactivate();
-        CreateOutputFile(name, format, o == dialog->ok);
+        CreateOutputFile(name, format, o == dialog->ok, true);
         dialog->buttons->activate();
         if(o == dialog->ok){
           dialog->window->hide();