diff --git a/NavigationSample/Scripts/navigation.mvc.js b/NavigationSample/Scripts/navigation.mvc.js
index <HASH>..<HASH> 100644
--- a/NavigationSample/Scripts/navigation.mvc.js
+++ b/NavigationSample/Scripts/navigation.mvc.js
@@ -138,8 +138,10 @@
         raiseEvent('navigated', req, resp);

         for (var id in resp.panels) {

             var panel = win.document.getElementById(id);

-            backResp.panels[id] = panel.innerHTML;

-            panel.innerHTML = resp.panels[id];

+            if (panel) {

+                backResp.panels[id] = panel.innerHTML;

+                panel.innerHTML = resp.panels[id];

+            }

         }

         raiseEvent('updated', req, resp);

         var newLink = resp.link;
Added check for panel's presence.
A -> B -> C -> A -> C'
C and C' are the same url but look different, maybe because things have been deleted since the C was first shown.
Then if go back from C' to A then to C, it will actually go back to C' because the cache holds the latest version of AC. Then going back from C' to B the panels that were there when going from B to C originally might not be there now.