diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart
index dafd75e1f..d64f2cde5 100644
--- a/flutter/lib/common.dart
+++ b/flutter/lib/common.dart
@@ -1581,13 +1581,7 @@ bool checkArguments() {
 /// Returns true if we successfully handle the uri provided.
 /// [Functions]
 /// 1. New Connection: rustdesk://connection/new/your_peer_id
-/// 2. Bring the main window to the top: empty uriPath
 bool parseRustdeskUri(String uriPath) {
-  // If we invoke uri with blank path, we just bring the main window to tht top.
-  if (uriPath.isEmpty) {
-    window_on_top(null);
-    return true;
-  }
   final uri = Uri.tryParse(uriPath);
   if (uri == null) {
     debugPrint("uri is not valid: $uriPath");
diff --git a/flutter/lib/models/model.dart b/flutter/lib/models/model.dart
index ca726ac3e..4fe89d3dc 100644
--- a/flutter/lib/models/model.dart
+++ b/flutter/lib/models/model.dart
@@ -211,7 +211,12 @@ class FfiModel with ChangeNotifier {
         parent.target?.elevationModel.onPortableServiceRunning(evt);
       } else if (name == 'on_url_scheme_received') {
         final url = evt['url'].toString();
-        parseRustdeskUri(url);
+        // If we invoke uri with blank path, we just bring the main window to the top.
+        if (url.isEmpty) {
+          window_on_top(null);
+        } else {
+          parseRustdeskUri(url);
+        }
       } else if (name == 'on_voice_call_waiting') {
         // Waiting for the response from the peer.
         parent.target?.chatModel.onVoiceCallWaiting();