diff --git a/Common/StringUtils.cpp b/Common/StringUtils.cpp
index 666924430784f272858cc464d25a81dd19d69eb3..edc599eb56c8553bdf98b412a05d1f830f0426f2 100644
--- a/Common/StringUtils.cpp
+++ b/Common/StringUtils.cpp
@@ -104,6 +104,12 @@ std::vector<std::string> SplitFileName(const std::string &fileName)
   return s;
 }
 
+std::string GetFileNameWithoutPath(const std::string &fileName)
+{
+  std::vector<std::string> s = SplitFileName(fileName);
+  return s[1] + s[2];
+}
+
 std::string ConvertFileToString(const std::string &fileName)
 {
   FILE *fp = fopen(fileName.c_str(), "r");
diff --git a/Common/StringUtils.h b/Common/StringUtils.h
index 7a50f119fad1c7d33a8bd2f0a43cf63208b98751..81061107e267b0daceb035edaa7fc136ee8e4a24 100644
--- a/Common/StringUtils.h
+++ b/Common/StringUtils.h
@@ -16,6 +16,7 @@ std::string SanitizeTeXString(const char *in, int equation);
 std::string FixWindowsPath(const std::string &in);
 std::string FixRelativePath(const std::string &reference, const std::string &in);
 std::vector<std::string> SplitFileName(const std::string &fileName);
+std::string GetFileNameWithoutPath(const std::string &fileName);
 std::string ConvertFileToString(const std::string &fileName);
 void ReplaceSubStringInPlace(const std::string &olds, const std::string &news, 
                              std::string &str);
diff --git a/Fltk/menuWindow.cpp b/Fltk/menuWindow.cpp
index d2a503e81405d16c895da01423898953f3a64997..bf24133351bff45b98f464997eee43c834af82f0 100644
--- a/Fltk/menuWindow.cpp
+++ b/Fltk/menuWindow.cpp
@@ -434,17 +434,17 @@ void file_watch_cb(Fl_Widget *w, void *data)
   }
   if(files) free((void*)files);
 
-  Msg::Info("%d files matching watch pattern '%s'", num, pattern.c_str());
+  Msg::Info("%d files matching pattern '%s'", num, pattern.c_str());
   
   std::set<std::string> allFiles;
   for(unsigned int i = 0; i < GModel::list.size(); i++)
-    allFiles.insert(GModel::list[i]->getFileName());
+    allFiles.insert(GetFileNameWithoutPath(GModel::list[i]->getFileName()));
   for(unsigned int i = 0; i < PView::list.size(); i++)
     for(unsigned int j = 0; j < PView::list[i]->getData()->getNumTimeSteps(); j++)
-      allFiles.insert(PView::list[i]->getData()->getFileName(j));
+      allFiles.insert(GetFileNameWithoutPath(PView::list[i]->getData()->getFileName(j)));
 
   for(unsigned int i = 0; i < matches.size(); i++)
-    if(allFiles.find(matches[i]) == allFiles.end())
+    if(allFiles.find(GetFileNameWithoutPath(matches[i])) == allFiles.end())
       MergeFile(matches[i]);
   drawContext::global()->draw();
 }