diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index e024861..b645567 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -3505,6 +3505,7 @@
     if (!req)
     {
         hddLog(VOS_TRACE_LEVEL_ERROR, "request is became NULL\n");
+        pScanInfo->mScanPending = VOS_FALSE;
         goto allow_suspend;
     }
 
@@ -3536,12 +3537,8 @@
 #endif
 
 allow_suspend:
-    /* release the wake lock */
-    if((eConnectionState_NotConnected == 
-         (WLAN_HDD_GET_STATION_CTX_PTR(pAdapter))->conn_info.connState))
-    {
-        hdd_allow_suspend();
-    }
+    /* release the wake lock at the end of the scan*/
+    hdd_allow_suspend();
 
     EXIT();
     return 0;
@@ -3564,7 +3561,6 @@
     v_U32_t scanId = 0;
     int status = 0;
     hdd_scaninfo_t *pScanInfo = &pAdapter->scan_info;
-    v_U8_t preventSuspend = 0;
 #ifdef WLAN_FEATURE_P2P
     v_U8_t* pP2pIe = NULL;
 #endif
@@ -3797,14 +3793,15 @@
 
     INIT_COMPLETION(pScanInfo->scan_req_completion_event);
 
-    /*If the station is not connected and recieved a scan request, acquire the 
-     * wake lock to not request the suspend from Android*/
-    if((eConnectionState_NotConnected == 
-         (WLAN_HDD_GET_STATION_CTX_PTR(pAdapter))->conn_info.connState))
-    {
-        preventSuspend = 1;
-        hdd_prevent_suspend();
-    }
+    /* acquire the wakelock to avoid the apps suspend during the scan. To
+     * address the following issues.
+     * 1) Disconnected scenario: we are not allowing the suspend as WLAN is not in
+     * BMPS/IMPS this result in android trying to suspend aggressively and backing off
+     * for long time, this result in apps running at full power for long time.
+     * 2) Connected scenario: If we allow the suspend during the scan, RIVA will
+     * be stuck in full power because of resume BMPS
+     */
+    hdd_prevent_suspend();
 
     status = sme_ScanRequest( WLAN_HDD_GET_HAL_CTX(pAdapter),
                               pAdapter->sessionId, &scanRequest, &scanId,
@@ -3816,10 +3813,7 @@
                 "%s: sme_ScanRequest returned error %d", __func__, status);
         complete(&pScanInfo->scan_req_completion_event);
         status = -EIO;
-        if(preventSuspend)
-        {
-            hdd_allow_suspend();
-        }
+        hdd_allow_suspend();
         goto free_mem;
     }
 
