diff --git a/examples/webenginewidgets/simplebrowser/main.cpp b/examples/webenginewidgets/simplebrowser/main.cpp
index 761403fb56363294fe4b9e6aa34c5c7d766d2f12..750e7ae43b78a8d9616846e2664adde0e1aac442 100644
--- a/examples/webenginewidgets/simplebrowser/main.cpp
+++ b/examples/webenginewidgets/simplebrowser/main.cpp
@@ -42,6 +42,18 @@
 #include "browserwindow.h"
 #include <QApplication>
 
+QString getCommandLineUrlArgument()
+{
+    const QStringList args = QCoreApplication::arguments();
+    if (args.count() > 1) {
+        const QString lastArg = args.last();
+        const bool isValidUrl = QUrl::fromUserInput(lastArg).isValid();
+        if (isValidUrl)
+            return lastArg;
+    }
+    return QString();
+}
+
 int main(int argc, char **argv)
 {
     QApplication app(argc, argv);
@@ -50,9 +62,9 @@ int main(int argc, char **argv)
     BrowserWindow *window = new BrowserWindow();
     Browser::instance().addWindow(window);
 
-    QStringList args = QCoreApplication::arguments();
-    if (args.count() > 1)
-        window->loadPage(args.last());
+    const QString url = getCommandLineUrlArgument();
+    if (!url.isEmpty())
+        window->loadPage(url);
     else
         window->loadHomePage();