Keep reference to InitializeWebView until it is notified for the first time
diff --git a/boot-fx/src/main/java/org/netbeans/html/boot/fx/InitializeWebView.java b/boot-fx/src/main/java/org/netbeans/html/boot/fx/InitializeWebView.java
index 4853ffe..2bbc3c2 100644
--- a/boot-fx/src/main/java/org/netbeans/html/boot/fx/InitializeWebView.java
+++ b/boot-fx/src/main/java/org/netbeans/html/boot/fx/InitializeWebView.java
@@ -25,7 +25,6 @@
 import javafx.concurrent.Worker;
 import javafx.scene.web.WebView;
 import net.java.html.BrwsrCtx;
-import org.netbeans.html.boot.fx.AbstractFXPresenter;
 
 public final class InitializeWebView extends AbstractFXPresenter implements Runnable {
 
@@ -65,12 +64,13 @@
 
     private static class FindViewListener extends WeakReference<InitializeWebView>
     implements ChangeListener<Worker.State> {
-
+        private InitializeWebView toNotify;
         private final URL resource;
         private final Worker<Void> w;
 
         public FindViewListener(InitializeWebView view, URL resource, Worker<Void> w) {
             super(view);
+            this.toNotify = view;
             this.resource = resource;
             this.w = w;
         }
@@ -86,6 +86,7 @@
             if (newState.equals(Worker.State.SUCCEEDED)) {
                 if (checkValid(view)) {
                     view.onPageLoad();
+                    toNotify = null;
                 }
             }
             if (newState.equals(Worker.State.FAILED)) {
diff --git a/ko4j/src/test/java/org/netbeans/html/ko4j/DoubleViewTest.java b/ko4j/src/test/java/org/netbeans/html/ko4j/DoubleViewTest.java
index 5cfcf5f..b32c039 100644
--- a/ko4j/src/test/java/org/netbeans/html/ko4j/DoubleViewTest.java
+++ b/ko4j/src/test/java/org/netbeans/html/ko4j/DoubleViewTest.java
@@ -48,9 +48,6 @@
 })
 public class DoubleViewTest {
     private static String set;
-    static {
-        DumpStack.initialize();
-    }
 
     @Function
     static void change(DoubleView model) {
@@ -66,6 +63,9 @@
     private WebView view2;
 
     private static final StringBuffer LOG = new StringBuffer();
+    static {
+        DumpStack.initialize();
+    }
     private JFrame frame;
     private Fn.Presenter presenter1;
     private Fn.Presenter presenter2;
@@ -77,6 +77,7 @@
         final JFXPanel panel = new JFXPanel();
         final JFXPanel p2 = new JFXPanel();
 
+        log("Panel #1 " + panel + " and #2 " + p2);
         final CountDownLatch initViews = new CountDownLatch(1);
         Platform.runLater(() -> {
             displayFrame(panel, p2);
@@ -87,29 +88,39 @@
         doubleView = new DoubleView();
         doubleView.setMessage("Initialized");
 
+        log("DoubleView: " + doubleView);
+
         final URL page = DoubleViewTest.class.getResource("double.html");
         assertNotNull(page, "double.html found");
 
 
-
         final CountDownLatch view1Init = new CountDownLatch(1);
         final CountDownLatch view2Init = new CountDownLatch(1);
+        log("Scheduling view1");
         Platform.runLater(() -> {
+            log("Platform.runLater");
             FXBrowsers.load(view1, page, () -> {
+                log("initializing view1");
                 presenter1 = Fn.activePresenter();
                 doubleView.applyBindings();
                 log("applyBindings view One");
                 view1Init.countDown();
             });
-
+        });
+        log("Waiting for view1");
+        view1Init.await();
+        log("Scheduling view1");
+        Platform.runLater(() -> {
             FXBrowsers.load(view2, page, () -> {
+                log("initializing view2");
                 presenter2 = Fn.activePresenter();
                 doubleView.applyBindings();
                 log("applyBindings view Two");
                 view2Init.countDown();
             });
+            log("view2 load scheduled");
         });
-        view1Init.await();
+        log("Waiting for view2");
         view2Init.await();
         log("initializeViews - done");
         assertNotNull(presenter1, "presenter for view1 found");
diff --git a/ko4j/src/test/java/org/netbeans/html/ko4j/DumpStack.java b/ko4j/src/test/java/org/netbeans/html/ko4j/DumpStack.java
index fae001f..9bc6dde 100644
--- a/ko4j/src/test/java/org/netbeans/html/ko4j/DumpStack.java
+++ b/ko4j/src/test/java/org/netbeans/html/ko4j/DumpStack.java
@@ -44,7 +44,7 @@
     }
 
     public static void initialize() {
-        final int thirtySeconds = 30000;
-        TIMER.schedule(new DumpStack(), thirtySeconds, thirtySeconds);
+        final int fiveSec = 5000;
+        TIMER.schedule(new DumpStack(), fiveSec, 2 * fiveSec);
     }
 }