diff --git a/preprocessor/ModFile.cc b/preprocessor/ModFile.cc
index 87d998377d4f1fc68723677e542e3f50deef89e2..ebba73f41b17f7bdff7decbf6345c18f163d950e 100644
--- a/preprocessor/ModFile.cc
+++ b/preprocessor/ModFile.cc
@@ -296,8 +296,12 @@ ModFile::writeOutputFiles(const string &basename, bool clear_all) const
 
   // Compile the dynamic MEX file for use_dll option
   if (use_dll)
-    mOutputFile << "if ~exist('OCTAVE_VERSION') && ispc" << endl
-                << "  eval('mex -O LINKER=''echo EXPORTS > mex.def & echo mexFunction & echo Dynamic >> mex.def & gcc-3'' LDFLAGS=''-pthread -shared -Wl,--no-undefined'' " << basename << "_dynamic.c')" << endl // This command is enclosed in an eval(), because otherwise it will make Octave fail
+    mOutputFile << "if ~exist('OCTAVE_VERSION')" << endl
+                << "  if ispc" << endl
+                << "    eval('mex -O LINKER=''echo EXPORTS > mex.def & echo mexFunction & echo Dynamic >> mex.def & gcc-3'' LDFLAGS=''-pthread -shared -Wl,--no-undefined'' " << basename << "_dynamic.c')" << endl // This command is enclosed in an eval(), because otherwise it will make Octave fail
+                << "  else" << endl
+                << "    eval('mex -v -O LDFLAGS=''-pthread -shared -Wl,--no-undefined'' " << basename << "_dynamic.c')" << endl // This command is enclosed in an eval(), because otherwise it will make Octave fail
+                << "  end" << endl
                 << "else" << endl
                 << "  mex "  << basename << "_dynamic.c" << endl
                 << "end" << endl;