I'm using Google Calendar on my desktop computer. It seems to auto-generate birthday entries for my contacts in Google Mail. Unfortunately these entries show up twice in "My calendar" in the generic Calendar app (version 1.1) of Android 4.0.4. How can I avoid this?

I don't see any duplicate entries in other calendars, and the calendar list only shows "My calendar" once.

It's possible that the calendar app is showing the birthday in the "My Calendar" and also from the "Contacts' birthdays and events" from google calendar (which you can set up from the website, birthay is in the more section of "Interesting Calendars"). If is the case they should show up with 2 different colors. You can turn on of these calendars off in the 'Calendars to display' options (from the menu).

The other option is that merging/linking contacts (i.e. if a contact has an exchange account and birthday info) ends up in duplicate birthdays entries added to the My Calendar, and show with the same color. So far I delete those by hand.

Sorry to bump this up guys, but I think I got the solution to your problem, l0b0. I chanced upon this post while trying to solve the same problem faced by l0b0. I'm currently using Samsung SIII, and I synced my phone contacts to my gmail account. The birthdays of my contacts appear 3 times, with the same colour (under "My Calendar" in Google Calendar app).

I unclicked "My Calendar" in my Google Calendar App, and the contacts disappear. I think the duplicates are because of the contacts I have on my phone. To keep my friends' birthdays appearing on my calendar, I opt to click "Birthdays" instead. Hope this helps!

is it possible your Calendar app is synced with more than one account? If it is, the birthdays which were copied into your calendar from account A may have now been backed up onto account B.
You can check this by going to Accounts and un-syncing all but one of your calendars.

If your calendar is showing twice same events, and even in the same color, it could be because your phone has a default option to show contacts birthdays. So go to settings in your calendar app (in your phone), and look for your "sync calendars", and uncheck the one called Contacts Birthdays. So in the website you'll see the one you're used to, and in your phone you'll see the one by default your phone comes with.

If nothing disappears, or both duplicated events disappear, means those events are stored in another calendar, or you have duplicated entries in your calendar. In that case, from the website go to your contacts and in the "more" option select "find and merge duplicates".

Both of the events disappeared when deselecting the "Contacts' birthdays" checkbox. I just verified that a random duplicate entry did not correspond to a duplicate contact (I regularly import contacts, and always use "find and merge duplicates" afterwards).
–
l0b0Aug 9 '13 at 19:49

So if unchecking ONE calendar from the ones you have makes both events dissappear, means all birthdays including it's duplicates are in same calendar. I would recommend to check the calendar via web, unsuscribe from that calendar, sync the phone and make sure all birthdays disappear, and then, suscribe again to the birthdays calendar, make sure via web appears only once. If after doing that, in web appears once and in phone appears twice, issue would be the phone, so test your calendar in other android phone.
–
unmultimedioAug 13 '13 at 23:48

An after all of that, if in that other phone you test everything seems to be fine, I guess best choice is to uninstall calendar app (if you're rooted) or factory reset your SII.
–
unmultimedioAug 13 '13 at 23:50