Получение группы для определенного контакта из AddressBook iPhone

Я получаю имя группы для определенного контакта в моей адресной книге, но приведенный ниже код возвращает мне неправильное имя группы, например, если контакт C1 из группы G1, тогда код дает мне группу G2.
Может ли кто-нибудь сказать мне, что я делаю неправильно здесь?

*Код

    ABAddressBookRef addressBook = ABAddressBookCreate();
    CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
    CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);

    NSInteger recordId;
    ABRecordRef recordGroupID;

    for( int i=0;i< nPeople;i++)
    {
        NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];

        @try {

            NSAutoreleasePool *Pool = [[NSAutoreleasePool alloc] init];

            ABRecordRef ref = CFArrayGetValueAtIndex(allPeople, i);         

            recordId = ABRecordGetRecordID(ref);
            recordGroupID = ABAddressBookGetGroupWithRecordID(addressBook, recordId);

            NSString *grpName;

            if(recordGroupID)
                grpName = (NSString *)ABRecordCopyCompositeName(recordGroupID);
            else
                grpName = @"";

            [dict setObject:grpName forKey:@"GroupName"];

            CFStringRef firstName = ABRecordCopyValue(ref, kABPersonFirstNameProperty);
            CFStringRef lastName = ABRecordCopyValue(ref, kABPersonLastNameProperty);

.....
and so on
}

person Ankur    schedule 24.11.2011    source источник