Android - How to avoid duplicate generated calendar entries?

Here are some options you can try:

  • Remove your Google account and adding it back. Source
  • Clear app data via Settings > Application manager > Calendar Storage > Clear data. Source.
    UPDATE 2013-05-15: This worked for l0b0

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.