@@ -220,14 +220,15 @@ function initGraphics(elm, Module) {
220220 elm.node.appendChild(Render.render(currentScene));
221221
222222 // set up updates so that the DOM is adjusted as necessary.
223− function domUpdate(newScene, currentScene) {
223+ var savedScene = currentScene;
224+ function domUpdate(newScene) {
224225 ElmRuntime.draw(function(_) {
225− Render.update(elm.node.firstChild, currentScene, newScene);
226+ Render.update(elm.node.firstChild, savedScene, newScene);
226227 if (elm.Native.Window) elm.Native.Window.values.resizeIfNeeded();
228+ savedScene = newScene;
227229 });
228− return newScene;
229230 }
230− var renderer = A3(Signal.foldp, F2(domUpdate), currentScene, signalGraph);
231+ var renderer = A2(Signal.lift, domUpdate, signalGraph);
231232
232233 // must check for resize after 'renderer' is created so
233234 // that changes show up.