diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 79a1e60..082da68 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,16 @@
+2020-04-01  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] MiniBrowser: valgrind claims 'Invalid write of size 8' on close
+        https://bugs.webkit.org/show_bug.cgi?id=209471
+
+        Reviewed by Adrian Perez de Castro.
+
+        This is because we need to remove the weak pointer added in child windows to their parent.
+
+        * MiniBrowser/gtk/BrowserWindow.c:
+        (browserWindowDispose): Remove the parentWindow weak ref.
+        (browser_window_class_init): Add dispose.
+
 2020-03-31  Kate Cheney  <katherine_cheney@apple.com>
 
         Requests for messageHandlers() in the DOMWindow should be ignored for non-app-bound navigations
diff --git a/Tools/MiniBrowser/gtk/BrowserWindow.c b/Tools/MiniBrowser/gtk/BrowserWindow.c
index 37f9eef..21c3c3d 100644
--- a/Tools/MiniBrowser/gtk/BrowserWindow.c
+++ b/Tools/MiniBrowser/gtk/BrowserWindow.c
@@ -711,6 +711,18 @@
         gtk_main_quit();
 }
 
+static void browserWindowDispose(GObject *gObject)
+{
+    BrowserWindow *window = BROWSER_WINDOW(gObject);
+
+    if (window->parentWindow) {
+        g_object_remove_weak_pointer(G_OBJECT(window->parentWindow), (gpointer *)&window->parentWindow);
+        window->parentWindow = NULL;
+    }
+
+    G_OBJECT_CLASS(browser_window_parent_class)->dispose(gObject);
+}
+
 static void browserWindowSetupEditorToolbar(BrowserWindow *window)
 {
     GtkWidget *toolbar = gtk_toolbar_new();
@@ -1126,6 +1138,7 @@
     GObjectClass *gobjectClass = G_OBJECT_CLASS(klass);
 
     gobjectClass->constructed = browserWindowConstructed;
+    gobjectClass->dispose = browserWindowDispose;
     gobjectClass->finalize = browserWindowFinalize;
 
     GtkWidgetClass *widgetClass = GTK_WIDGET_CLASS(klass);
