diff --git a/hr/doctype/employee/employee.py b/hr/doctype/employee/employee.py
index f1646f7..e28e02d 100644
--- a/hr/doctype/employee/employee.py
+++ b/hr/doctype/employee/employee.py
@@ -156,20 +156,23 @@
 					raise_exception=InvalidLeaveApproverError)
 
 	def update_dob_event(self):
-		if self.doc.date_of_birth:
-			get_events = webnotes.conn.sql("""select name from `tabEvent` where repeat_on='Every Year' 
+		if self.doc.status == "Active" and self.doc.date_of_birth:
+			birthday_event = webnotes.conn.sql("""select name from `tabEvent` where repeat_on='Every Year' 
 				and ref_type='Employee' and ref_name=%s""", self.doc.name)
 
 			starts_on = self.doc.date_of_birth + " 00:00:00"
 			ends_on = self.doc.date_of_birth + " 00:15:00"
 
-			if get_events:
-				webnotes.conn.sql("""update `tabEvent` set starts_on=%s, ends_on=%s 
-					where name=%s""", (starts_on, ends_on, get_events[0][0]))
+			if birthday_event:
+				event = webnotes.bean("Event", birthday_event[0][0])
+				event.doc.starts_on = starts_on
+				event.doc.ends_on = ends_on
+				event.save()
 			else:
 				webnotes.bean({
 					"doctype": "Event",
 					"subject": _("Birthday") + ": " + self.doc.employee_name,
+					"description": _("Happy Birthday!") + " " + self.doc.employee_name,
 					"starts_on": starts_on,
 					"ends_on": ends_on,
 					"event_type": "Public",
diff --git a/patches/august_2013/p04_employee_birthdays.py b/patches/august_2013/p04_employee_birthdays.py
deleted file mode 100644
index 6e8481d..0000000
--- a/patches/august_2013/p04_employee_birthdays.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-def execute():
-	for employee in webnotes.conn.sql_list("""select name from `tabEmployee` where ifnull(date_of_birth, '')!=''"""):
-		obj = webnotes.get_obj("Employee", employee)
-		obj.update_dob_event()
-		
\ No newline at end of file
diff --git a/patches/august_2013/p05_employee_birthdays.py b/patches/august_2013/p05_employee_birthdays.py
new file mode 100644
index 0000000..9ad0c99
--- /dev/null
+++ b/patches/august_2013/p05_employee_birthdays.py
@@ -0,0 +1,13 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+
+def execute():
+	webnotes.conn.sql("""delete from `tabEvent` where repeat_on='Every Year' and ref_type='Employee'""")
+	for employee in webnotes.conn.sql_list("""select name from `tabEmployee` where status='Active' and 
+		ifnull(date_of_birth, '')!=''"""):
+			obj = webnotes.get_obj("Employee", employee)
+			obj.update_dob_event()
+		
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 9e6938b..13a80f4 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -254,5 +254,5 @@
 	"patches.august_2013.p01_hr_settings",
 	"patches.august_2013.p02_rename_price_list",
 	"patches.august_2013.p03_pos_setting_replace_customer_account",
-	"patches.august_2013.p04_employee_birthdays",
+	"patches.august_2013.p05_employee_birthdays",
 ]
\ No newline at end of file
