diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 74b74abf111db94b71c5e66c4326f28f063548d8..3436d86cfebea1ae927f62b4330ef300ca888b72 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -248,6 +248,7 @@ void QWebEnginePagePrivate::adoptNewWindow(WebContentsAdapter *newWebContents, W
     // Overwrite the new page's WebContents with ours.
     if (newPage) {
         newPage->d_func()->adapter = newWebContents;
+        newPage->history()->d_func()->adapter = newWebContents;
         newWebContents->initialize(newPage->d_func());
         if (!initialGeometry.isEmpty())
             emit newPage->geometryChangeRequested(initialGeometry);