--- a/src/lib/model/BUGSModel.cc
+++ b/src/lib/model/BUGSModel.cc
@@ -194,6 +194,7 @@
 	}
     }
 
+    msg.clear();
     Monitor *monitor = 0;
 
     list<pair<MonitorFactory*, bool> > const &faclist = monitorFactories();
@@ -202,7 +203,7 @@
     {
 	if (j->second) {
 	    monitor = j->first->getMonitor(name, range, this, type, msg);
-	    if (monitor)
+	    if (monitor || !msg.empty())
 		break;
 	}
     }