diff --git a/js/simulation/electronics/eSim.js b/js/simulation/electronics/eSim.js
index b72432b145cd20e5a141c4de5d4a7436a7151a6c..56508a8bff65e3376a6ba20a239f72866b6add85 100644
--- a/js/simulation/electronics/eSim.js
+++ b/js/simulation/electronics/eSim.js
@@ -3,7 +3,7 @@
  */
 
 
-define(['underscore', 'backbone', 'threeModel'], function(_, Backbone, three){
+define(['underscore', 'backbone', 'threeModel', 'appState'], function(_, Backbone, three, appState){
 
     var eSim = Backbone.Model.extend({
 
@@ -32,6 +32,7 @@ define(['underscore', 'backbone', 'threeModel'], function(_, Backbone, three){
 
             this.listenTo(this, "change:simZHeight", this._refreshVisibleField);
             this.listenTo(this, "change:visibleStaticSim", this._refreshVisibleField);
+            this.listenTo(appState, "change:currentNav", this._navChanged);
 
         },
 
@@ -41,6 +42,11 @@ define(['underscore', 'backbone', 'threeModel'], function(_, Backbone, three){
             if (field && height<field.getMaxHeight()) this.set("simZHeight", height);
         },
 
+        _navChanged: function(){
+            if (appState.get("currentNav") != "electronicNavSim") this._hideAllFields();
+            else this._refreshVisibleField();
+        },
+
         _hideAllFields: function(){
             if (this.get("rawPotentialField")) this.get("rawPotentialField").hide();
             if (this.get("potentialField")) this.get("potentialField").hide();