Gmail for Android creates duplicate Exchange contacts
We identified a reproducible issue affecting all users in our organization when using Gmail for Android with Exchange ActiveSync.
Environment
- Gmail client:
Android-Mail/2026.09.14.986636867.Release - Android Enterprise
- Motorola Edge 50 Neo
- Motorola G71
- Exchange Server Subscription Edition (latest updates)
- Ivanti EPMM 12.7.0.0
- Ivanti Sentry 10.7.3
Issue After device reboot or disable work profile:
- Existing Exchange contacts remain on device.
- Gmail starts a new ActiveSync contact synchronization.
- Another complete copy of the same contacts is created.
- Contact count continuously grows.
Example:
Initial sync: ~450 contacts
After reboot #1: ~900 contacts
After reboot #2: ~1350 contacts
After reboot #3: ~1800 contacts
Investigation results
- Outlook and Exchange mailbox do not contain duplicate contacts.
- Duplicates exist only on Android devices.
- Email and Calendar synchronization work correctly.
- Same DeviceId is used before and after reboot.
- Exchange returns HTTP 200 and successful ActiveSync responses.
- Exchange does not return ActiveSync errors or invalid SyncKey responses.
Mailbox logs show that after reboot the Gmail client starts a new synchronization from:
<SyncKey>0</SyncKey>
for contact collections.
Exchange then correctly returns the contact set using:
<Commands>
<Add>
...
</Add>
</Commands>
which results in another copy of the existing contacts being stored locally.
We have been using Gmail for Android with Exchange ActiveSync and certificate-based authentication for many years without any issues. This configuration is required in our environment because users authenticate to Exchange through certificates and Ivanti Sentry. The solution worked correctly for a long time, but during the last few months we started experiencing contact duplication issues. Unfortunately, we do not know the exact date when the problem first appeared.
