diff --git a/src/webengine/ui_delegates_manager.cpp b/src/webengine/ui_delegates_manager.cpp
index 637f3ea369db1c09aea1a70b5d73e0bb86287333..e2f3855f45e2c8293ae90b2b6f0a83033ce994da 100644
--- a/src/webengine/ui_delegates_manager.cpp
+++ b/src/webengine/ui_delegates_manager.cpp
@@ -296,8 +296,12 @@ void UIDelegatesManager::showDialog(QSharedPointer<JavaScriptDialogController> d
         Q_UNREACHABLE();
     }
 
-    if (!ensureComponentLoaded(dialogComponentType))
+    if (!ensureComponentLoaded(dialogComponentType)) {
+        // Let the controller know it couldn't be loaded
+        qWarning("Failed to load dialog, rejecting.");
+        dialogController->reject();
         return;
+    }
 
     QQmlComponent *dialogComponent = Q_NULLPTR;
     switch (dialogComponentType) {