diff --git a/Glob.cxx b/Glob.cxx
index 364305f566ee04472da59cf6596199c88f6fe0e1..c52aafc4f739658b311dbe1c0c6c206b7e1a8f8f 100644
--- a/Glob.cxx
+++ b/Glob.cxx
@@ -184,10 +184,12 @@ bool Glob::RecurseDirectory(std::string::size_type start,
   kwsys::Directory d;
   std::string errorMessage;
   if (!d.Load(dir, &errorMessage)) {
-    if (!errorMessage.empty()) {
-      messages->push_back(Message(Glob::warning,
-                                  "Error listing directory '" + dir +
-                                    "'! Reason: '" + errorMessage + "'"));
+    if (messages) {
+      if (!errorMessage.empty()) {
+        messages->push_back(Message(Glob::warning,
+                                    "Error listing directory '" + dir +
+                                      "'! Reason: '" + errorMessage + "'"));
+      }
     }
     return true;
   }