diff --git a/SystemTools.cxx b/SystemTools.cxx
index e4fa0652a9dd45c6551770983d8240c83d52c220..e041f06a74fb1876c9c6506373e9031eafa1f9cb 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -1281,7 +1281,12 @@ int SystemTools::ChangeDirectory(const char *dir)
 kwsys_stl::string SystemTools::GetCurrentWorkingDirectory()
 {
   char buf[2048];
-  kwsys_stl::string path = Getcwd(buf, 2048);
+  const char* cwd = Getcwd(buf, 2048);
+  kwsys_stl::string path;
+  if ( cwd )
+    {
+    path = cwd;
+    }
   return path;
 }