Hi, All. I'm trying to edit contact using next code.

Code:
	CPbkContactEditorDlg *dialog = CPbkContactEditorDlg::NewL(*iEngine, *contact, EFalse, -1, ETrue);
	TContactItemId contactID = KNullContactId;
	TRAPD(dialogError, contactID = dialog->ExecuteLD());

	if (contactID == KNullContactId)
	{
		phoneBookResource.Close();

		return EFalse;
	}

	TRAPD(error, iEngine->CommitContactL(*contact));
Last command return -21, but contact saved successful and I can see changes in contact book. On other hand a LAST_MODIFICATION_TIME=0, and I can not check which contact was modified. Where is my mistake?