diff --git a/src/main.cpp b/src/main.cpp
index cf7e29e63bc63ccb04e8558df6345d9b967a32f8..f6373d2ac9c44b03177cc74ab5ffe8fe8b6b27e2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -176,12 +176,6 @@ main(int argc, char *argv[])
                           100,
                           userdata);
 
-    if (app.isSecondary()) {
-        // open uri in main instance
-        app.sendMessage(matrixUri.toUtf8());
-        return 0;
-    }
-
     QCommandLineParser parser;
     parser.addHelpOption();
     parser.addVersionOption();
@@ -202,6 +196,15 @@ main(int argc, char *argv[])
 
     parser.process(app);
 
+    // This check needs to happen _after_ process(), so that we actually print help for --help when
+    // Nheko is already running.
+    if (app.isSecondary()) {
+        nhlog::ui()->info("Sending Matrix URL to main application: {}", matrixUri.toStdString());
+        // open uri in main instance
+        app.sendMessage(matrixUri.toUtf8());
+        return 0;
+    }
+
     app.setWindowIcon(QIcon::fromTheme("nheko", QIcon{":/logos/nheko.png"}));
 
     http::init();