diff --git a/nci/jni/NativeNfcManager.cpp b/nci/jni/NativeNfcManager.cpp
index 36e89c0..0e9252a 100755
--- a/nci/jni/NativeNfcManager.cpp
+++ b/nci/jni/NativeNfcManager.cpp
@@ -95,6 +95,7 @@
     void                    doStartupConfig ();
     void                    startStopPolling (bool isStartPolling);
     void                    startRfDiscovery (bool isStart);
+    bool                    isDiscoveryStarted ();
 }
 
 
@@ -1727,6 +1728,21 @@
 
 /*******************************************************************************
 **
+** Function:        isDiscoveryStarted
+**
+** Description:     Indicates whether the discovery is started.
+**
+** Returns:         True if discovery is started
+**
+*******************************************************************************/
+bool isDiscoveryStarted ()
+{
+    return sRfEnabled;
+}
+
+
+/*******************************************************************************
+**
 ** Function:        doStartupConfig
 **
 ** Description:     Configure the NFC controller.
diff --git a/nci/jni/PeerToPeer.cpp b/nci/jni/PeerToPeer.cpp
index 17d252c..da4cf30 100644
--- a/nci/jni/PeerToPeer.cpp
+++ b/nci/jni/PeerToPeer.cpp
@@ -40,6 +40,8 @@
 {
     extern void nativeNfcTag_registerNdefTypeHandler ();
     extern void nativeNfcTag_deregisterNdefTypeHandler ();
+    extern void startRfDiscovery (bool isStart);
+    extern bool isDiscoveryStarted ();
 }
 
 
@@ -475,6 +477,7 @@
     ALOGD ("%s: enter; JNI handle: %u", fn, jniHandle);
     tNFA_STATUS     nfaStat = NFA_STATUS_FAILED;
     sp<P2pServer>   pSrv = NULL;
+    bool            isPollingTempStopped = false;
 
     mMutex.lock();
     if ((pSrv = findServerLocked (jniHandle)) == NULL)
@@ -484,6 +487,11 @@
         return (false);
     }
     mMutex.unlock();
+    if (isDiscoveryStarted ())
+    {
+        isPollingTempStopped = true;
+        startRfDiscovery (false);
+    }
 
     {
         // Server does not call NFA_P2pDisconnect(), so unblock the accept()
@@ -499,6 +507,11 @@
 
     removeServer (jniHandle);
 
+    if (isPollingTempStopped)
+    {
+        startRfDiscovery (true);
+    }
+
     ALOGD ("%s: exit", fn);
     return true;
 }
