diff -r abbed5a4b42a -r 8d540f55e491 linklayercontrol/networkinterfacemgr/agentprcore/src/agentscpr.cpp --- a/linklayercontrol/networkinterfacemgr/agentprcore/src/agentscpr.cpp Tue Aug 31 16:45:15 2010 +0300 +++ b/linklayercontrol/networkinterfacemgr/agentprcore/src/agentscpr.cpp Wed Sep 01 12:33:58 2010 +0100 @@ -296,10 +296,15 @@ } else { - // Agent has stopped and disconnected without this node telling it to - // Could be an error in the agent initiating a disconnect - __CFLOG_VAR((KAgentSCprTag, KAgentSCprSubTag, _L8("CAgentSubConnectionProvider::ConnectionDownL() - Agent has stopped unexpectedly"))); - ControlProvider()->PostMessage(Id(), TCFControlProvider::TDataClientGoneDown(KErrDisconnected).CRef()); + // Verify AgentSCPR is Started, if its started, do not initiate TDataClientGoneDown, else initiate it + if(!AgentProvisionInfo()->AgentAdapter()->IsAgentInErrorState()) + { + // Agent has stopped and disconnected without this node telling it to + // Could be an error in the agent initiating a disconnect + __CFLOG_VAR((KAgentSCprTag, KAgentSCprSubTag, _L8("CAgentSubConnectionProvider::ConnectionDownL() - Agent has stopped unexpectedly"))); + ControlProvider()->PostMessage(Id(), TCFControlProvider::TDataClientGoneDown(KErrDisconnected).CRef()); + } + } }