diff --git a/Common/Main.cpp b/Common/Main.cpp
index 8e87ff7eb3ec27fc46ed2d80074ffb9588a64563..f0eda408987140c7ba3abaec74ac8fd42cc87cb5 100644
--- a/Common/Main.cpp
+++ b/Common/Main.cpp
@@ -22,9 +22,7 @@ int main(int argc, char *argv[])
 
   new GModel();
   GmshInitialize(argc, argv);
-  // force these even if the options say it ain't so
-  CTX.nopopup = 1;
-  CTX.terminal = 1; 
+  CTX.terminal = CTX.nopopup = 1;
   GmshBatch();
   GmshFinalize();
 
diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp
index d13ac2c3932315c023596385ceb67751d3350c45..2059fa056aa969b8f143b7916349fcd7494a0c2e 100644
--- a/Fltk/Main.cpp
+++ b/Fltk/Main.cpp
@@ -40,11 +40,9 @@ int main(int argc, char *argv[])
   // Initialize static stuff (parser symbols, options)
   GmshInitialize(argc, argv);
 
-  // Always print info on terminal for non-interactive execution
-  if(CTX.batch) CTX.terminal = 1;
-
   // Non-interactive Gmsh
   if(CTX.batch) {
+    CTX.terminal = 1;
     GmshBatch();
     GmshFinalize();
     Msg::Exit(0);
@@ -106,7 +104,7 @@ int main(int argc, char *argv[])
     break;
   }
 
-  // Read background mesh on disk
+  // Read background mesh if any
   if(!CTX.bgm_filename.empty()) {
     MergeFile(CTX.bgm_filename);
     if(PView::list.size())