diff --git a/preprocessor/ConfigFile.cc b/preprocessor/ConfigFile.cc
index c0c17857bb35338093fc68775785319c09fe5b08..61ebf2e426e1fae35ca507dfe7128e881c06c298 100644
--- a/preprocessor/ConfigFile.cc
+++ b/preprocessor/ConfigFile.cc
@@ -517,15 +517,18 @@ ConfigFile::checkPass(WarningConsolidation &warnings) const
               exit(EXIT_FAILURE);
             }
 #if defined(_WIN32) || defined(__CYGWIN32__)
-          if (it->second->password.empty())
+          if (it->second->operatingSystem.empty())
             {
-              cerr << "ERROR (node " << it->first << "): the Password option must be passed under Windows for every remote node." << endl;
-              exit(EXIT_FAILURE);
-            }
-          if (it->second->remoteDrive.empty())
-            {
-              cerr << "ERROR (node " << it->first << "): the RemoteDrive option must be passed under Windows for every remote node." << endl;
-              exit(EXIT_FAILURE);
+              if (it->second->password.empty())
+                {
+                  cerr << "ERROR (node " << it->first << "): the Password option must be passed under Windows for every remote node." << endl;
+                  exit(EXIT_FAILURE);
+                }
+              if (it->second->remoteDrive.empty())
+                {
+                  cerr << "ERROR (node " << it->first << "): the RemoteDrive option must be passed under Windows for every remote node." << endl;
+                  exit(EXIT_FAILURE);
+                }
             }
 #endif
           if (it->second->remoteDirectory.empty())