diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index f10833b9b803c943c16f643836ab41564cfe0fc4..3642a9bf5aab3c84d097b5a61471479b86f9f89f 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -1263,6 +1263,8 @@ void QWebEnginePagePrivate::runFileChooser(FilePickerController *controller)
         controller->accepted(selectedFileNames);
     else
         controller->rejected();
+
+    delete controller;
 }
 
 WebEngineSettings *QWebEnginePagePrivate::webEngineSettings() const