diff --git a/birthday_reminder/manifest.ini b/birthday_reminder/manifest.ini
index c2630e7361e7f2b5f3ff8fb806cbdc4b8b870774..fa523ea16d23f682ba223cb2c03c2b588b607ec1 100644
--- a/birthday_reminder/manifest.ini
+++ b/birthday_reminder/manifest.ini
@@ -1,7 +1,7 @@
 [info]
 name: Birthday reminder
 short_name: birthday_reminder
-version: 0.0.1
+version: 0.0.2
 description: Birthday reminder plugin
 authors: Evgeniy Popov <evgeniypopov@gmail.com>
 homepage: https://bitbucket.org/axce1/bday
diff --git a/birthday_reminder/plugin.py b/birthday_reminder/plugin.py
index 7b20f205a0ccc59a50f87339af02ce0b67eae273..6476685bad05c336bb614213ec6ee53f291536f8 100644
--- a/birthday_reminder/plugin.py
+++ b/birthday_reminder/plugin.py
@@ -2,6 +2,7 @@ import os
 import glob
 import datetime
 from xml.dom.minidom import *
+import gobject
 
 from plugins import GajimPlugin
 from plugins.helpers import log_calls
@@ -20,11 +21,9 @@ class BirthDayPlugin(GajimPlugin):
         configpath = configpaths.ConfigPaths()
         cache_path = configpath.cache_root
         self.vcard_path = os.path.join(cache_path, 'vcards') + os.sep
+        self.timeout_id = 0
 
-
-    @log_calls('BirthDayPlugin')
-    def activate(self):
-
+    def check_birthdays(self):
         vcards = []
         date_dict = {}
         for jid in glob.glob(self.vcard_path + '*@*'):
@@ -34,24 +33,26 @@ class BirthDayPlugin(GajimPlugin):
         for xmldoc in vcards:
             try:
                 xml = parse(xmldoc)
-
             except:
                 pass
-
             else:
                 name = xml.getElementsByTagName('BDAY')
                 for node in name:
                     try:
                         data =  node.childNodes[0].nodeValue
                         date_dict[xmldoc[len(self.vcard_path):]] = data
-                    except: pass
+                    except:
+                        pass
 
         today = datetime.date.today()
 
         for key, value in date_dict.iteritems():
-            convert_date = datetime.datetime.strptime(value, "%Y-%m-%d")
-            user_bday = datetime.date(
-                today.year, convert_date.month, convert_date.day)
+            try:
+                convert_date = datetime.datetime.strptime(value, "%Y-%m-%d")
+                user_bday = datetime.date(today.year, convert_date.month,
+                    convert_date.day)
+            except:
+                continue
 
             if user_bday < today:
                 user_bday = user_bday.replace(year=today.year+1)
@@ -72,8 +73,16 @@ class BirthDayPlugin(GajimPlugin):
                 text = "Today BDay %s" % key
             if text:
                 popup('', key, key, title=title, text=text)
+        return True
+
+    @log_calls('BirthDayPlugin')
+    def activate(self):
+        self.check_birthdays()
+        self.timeout_id = gobject.timeout_add_seconds(24*3600,
+            self.check_birthdays)
 
     @log_calls('BirthDayPlugin')
     def deactivate(self):
-        pass
+        if self.timeout_id > 0:
+            gobject.source_remove(self.timeout_id)