diff -r 8033f508353e -r 4699373c9af8 omadm/omadmextensions/adapters/syncmldm12/src/NSmlDmSettingsAdapter12.cpp --- a/omadm/omadmextensions/adapters/syncmldm12/src/NSmlDmSettingsAdapter12.cpp Fri Mar 12 15:41:35 2010 +0200 +++ b/omadm/omadmextensions/adapters/syncmldm12/src/NSmlDmSettingsAdapter12.cpp Mon Mar 15 12:39:36 2010 +0200 @@ -3900,6 +3900,15 @@ TInt CNSmlDMSettingsAdapter12::ConstructTreeL(const TDesC8& aURI) { TInt profileID = KErrNotFound; + _LIT8( KNSmlDMIdZero, "DMAcc/DMId000" ); + TBuf8<20> zeroURI; // DMAcc/DMIdnnn , nnn = profileid + zeroURI.Append( KNSmlDMIdZero ); + HBufC8* ismapInfo = iCallBack->GetLuidAllocL(zeroURI); + if (ismapInfo->Length() != 0) // Tree is already constructrd, no need to proceed. + { + delete ismapInfo; + return profileID; + } if( iSyncSessionOpen == EFalse ) { iSyncSession.OpenL();