diff --git a/src/lynq/lib/liblynq-wifi6/libwifi6.c b/src/lynq/lib/liblynq-wifi6/libwifi6.c
index 70d66cb..221170c 100755
--- a/src/lynq/lib/liblynq-wifi6/libwifi6.c
+++ b/src/lynq/lib/liblynq-wifi6/libwifi6.c
@@ -54,6 +54,7 @@
 volatile int g_sta_scan_finish_flag = 1;
 volatile int g_sta_watcher_started_flag = 0;
 volatile int g_sta_conncet_status_flag = 0;
+volatile int g_sta_fake_scan_finish_flag = 0;
 
 pthread_t g_sta_auto_watcher_pid = 0;
 volatile int g_sta_auto_watcher_stop_flag = 0;
@@ -1308,6 +1309,11 @@
             {
                 notify_connect_status(LYNQ_WIFI_STA_STATUS_DISCONNECT, error);
             }
+            else if (state == LYNQ_WIFI_STA_STATUS_SCAN_RESULT &&
+                     s_sta_status != INNER_STA_STATUS_INIT && g_sta_conncet_status_flag != 0)
+            {
+                RLOGD("donot report scan result during in call connect manual");
+            }
             else
             {
                 notify_connect_status(state, error);
@@ -1330,6 +1336,11 @@
                 }
 
                 last_state = state;
+                if (g_sta_fake_scan_finish_flag == 1)
+                {
+                    g_sta_fake_scan_finish_flag = 0;
+                    notify_connect_status(LYNQ_WIFI_STA_STATUS_SCAN_RESULT, 0);
+                }
             }
         }
     }
@@ -3706,6 +3717,7 @@
 
     pthread_mutex_lock(&s_global_check_mutex);
     s_sta_status = INNER_STA_STATUS_CONNECTING;
+    g_sta_conncet_status_flag = 1;
     strcpy(s_sta_current_connecting_ssid, ssid);
     struct timeval now;
     gettimeofday(&now,NULL);
@@ -4205,11 +4217,18 @@
 
 int lynq_wifi_sta_start_scan(lynq_wifi_index_e idx)
 {
-    if ( g_sta_conncet_status_flag != 0 )
+    if ( s_sta_status == INNER_STA_STATUS_INIT && g_sta_conncet_status_flag != 0 )
     {
-        RLOGD("current sta is connecting dest ap");
+        RLOGD("current sta is autoconnecting dest ap,fake scan result");
+        g_sta_fake_scan_finish_flag = 1;
+        return 0;
+    }
+    else if (g_sta_conncet_status_flag != 0)
+    {
+        RLOGD("current sta is connecting dest ap, don't scan");
         return 1;
     }
+
     const char *clean_last_re ="wpa_cli -iwpa_wlan0_cmd -p/var/run/ IFNAME=wlan0 bss_flush";
     const char *lynq_scan_cmd = "SCAN";
 
