diff --git a/js/SerialMonitor/SerialMonitorController.js b/js/SerialMonitor/SerialMonitorController.js
index e11c694d8f15663bf983f628ff5389f62eb21078..91673efdaa7ff2855f941fe0c09adac37d16b625 100644
--- a/js/SerialMonitor/SerialMonitorController.js
+++ b/js/SerialMonitor/SerialMonitorController.js
@@ -33,8 +33,12 @@ define(['jquery', 'underscore', 'backbone'], function($, _, Backbone){
         onClose: function(){
             var self = this;
             setTimeout(function(){
-                if (self.popup.closed) self.popup = null;
+                if (self.popup.closed) self.dumpPopup();
             }, 100);//todo this is stupid, find an event that fires with window.closed == true
+        },
+
+        dumpPopup: function(){
+            this.popup = null;
         }
 
     });
diff --git a/js/SerialMonitor/SerialMonitorView.js b/js/SerialMonitor/SerialMonitorView.js
index 929e013ae637bc4f6d0072c775d010ac36c34baf..40f3ddab0f2a4119c4757bae78341d33fbb0e00b 100644
--- a/js/SerialMonitor/SerialMonitorView.js
+++ b/js/SerialMonitor/SerialMonitorView.js
@@ -23,6 +23,7 @@ define(['jquery', 'underscore', 'commParentMenu', 'serialComm', 'text!SerialMoni
             _.bindAll(this, "_onKeyUp");
             $(document).bind('keyup', {}, this._onKeyUp);
 
+
             this.listenTo(serialComm, "change:lastMessageSent", this._updateOutgoingMessage);
             this.listenTo(serialComm, "change:baudRate change:portName", this.render);
             this.listenTo(serialComm, "change:connected", function(){
@@ -38,6 +39,9 @@ define(['jquery', 'underscore', 'commParentMenu', 'serialComm', 'text!SerialMoni
                 if (e.keyCode == 38) $output.val(this.model.getPrevHistElem());
                 else if (e.keyCode == 40) $output.val(this.model.getNewerHistElem());
                 else if (e.keyCode == 13) this._sendMessage(e);
+
+
+            } else {
             }
         },
 
@@ -101,6 +105,7 @@ define(['jquery', 'underscore', 'commParentMenu', 'serialComm', 'text!SerialMoni
         },
 
         _close: function(){
+            this.userInitedReload = false;
             window.close();
         },
 
diff --git a/js/SerialMonitor/main.js b/js/SerialMonitor/main.js
index be1ca47ee65ffd90d7fbfacfccf3aaa7a91ef814..d1bd5e116a578fb9e2be04385c8ceec1044b0f87 100644
--- a/js/SerialMonitor/main.js
+++ b/js/SerialMonitor/main.js
@@ -39,6 +39,7 @@ require.config({
 
 require(['serialMonitorView', 'serialMonitor', 'positionControlPanelView', 'serialComm'],
     function(SerialMonitorView, serialMonitor, PositionControlPanelView, serialComm){
+
     new SerialMonitorView({model: serialMonitor});
     new PositionControlPanelView({model:serialComm});
 });
\ No newline at end of file