diff -r 6134b5029079 -r 876a3df1f464 commsconfig/cscengine/src/cscengservicepluginhandler.cpp --- a/commsconfig/cscengine/src/cscengservicepluginhandler.cpp Wed Apr 14 15:49:55 2010 +0300 +++ b/commsconfig/cscengine/src/cscengservicepluginhandler.cpp Tue Apr 27 16:28:03 2010 +0300 @@ -629,8 +629,23 @@ } CleanupStack::PopAndDestroy( &serviceIds ); - - iServicePluginInfoArray.Append( pluginInfo ); + + // Check if the plugin is already in array before appending. + TBool found( EFalse ); + for ( TInt counter( 0 ); + counter < iServicePluginInfoArray.Count(); + counter++ ) + { + if ( iServicePluginInfoArray[counter].iPluginsUid == + pluginInfo.iPluginsUid ) + { + found = ETrue; + } + } + if ( !found ) + { + iServicePluginInfoArray.Append( pluginInfo ); + } } CSCENGDEBUG( "CCSCEngServicePluginHandler::SetPluginInitInfoL - end" );