diff -r 2828b4d142c0 -r 4ae315f230bc predictivesearch/PcsUtils/src/CPsData.cpp --- a/predictivesearch/PcsUtils/src/CPsData.cpp Tue May 11 16:00:21 2010 +0300 +++ b/predictivesearch/PcsUtils/src/CPsData.cpp Tue May 25 12:26:45 2010 +0300 @@ -336,12 +336,13 @@ // ---------------------------------------------------------------------------- EXPORT_C TBool CPsData::CompareById(const CPsData& aObject1, const CPsData& aObject2) { - if(aObject1.Id() == aObject2.Id()) - { - return ETrue; - } - - return EFalse; + // Both Id() and UriId() must match if data objects represent the same contact. + // Values of Id() are guaranteed to be unique only within one store. + if ( aObject1.Id() == aObject2.Id() && aObject1.UriId() == aObject2.UriId() ) + { + return ETrue; + } + return EFalse; }