diff --git a/examples/webenginewidgets/demobrowser/webview.cpp b/examples/webenginewidgets/demobrowser/webview.cpp
index e308196ab42d0b2710fddb15b8a09eb416d0e5cb..a785ae48b9c2a1bb54a16380aa719bac8e094ff0 100644
--- a/examples/webenginewidgets/demobrowser/webview.cpp
+++ b/examples/webenginewidgets/demobrowser/webview.cpp
@@ -349,6 +349,7 @@ void WebView::setPage(WebPage *_page)
     connect(page(), SIGNAL(statusBarMessage(QString)),
             SLOT(setStatusBarText(QString)));
 #endif
+    disconnect(page(), &QWebEnginePage::iconChanged, this, &WebView::iconChanged);
     connect(page(), SIGNAL(iconChanged(QIcon)),
             this, SLOT(onIconChanged(QIcon)));
     connect(page(), &WebPage::featurePermissionRequested, this, &WebView::onFeaturePermissionRequested);
diff --git a/examples/webenginewidgets/demobrowser/webview.h b/examples/webenginewidgets/demobrowser/webview.h
index e3df8f79507d3b76f62e0eb90fa2b0c151931352..8cb502fd1ee81f2350dd0acb48c159f15adb471a 100644
--- a/examples/webenginewidgets/demobrowser/webview.h
+++ b/examples/webenginewidgets/demobrowser/webview.h
@@ -111,9 +111,6 @@ protected:
     void contextMenuEvent(QContextMenuEvent *event);
     void wheelEvent(QWheelEvent *event);
 
-signals:
-    void iconChanged(const QIcon &icon);
-
 private slots:
     void setProgress(int progress);
     void loadFinished(bool success);