diff --git a/bin/deltalogparse.py b/bin/deltalogparse.py
index df535523f533665b018d5018a33c12638b5dc502..7c52e2afa21e66853860bda432da4e42b053ea49 100755
--- a/bin/deltalogparse.py
+++ b/bin/deltalogparse.py
@@ -19,7 +19,7 @@ log_path = '/var/log/ldap/'
 log_file_log = log_path + 'deltalogparse.log'
 log_file_deltalog = log_path + 'delta.log'
 search_base = 'cn=deltalog'
-object_classes = '(|(objectClass=auditModify)(objectClass=auditAdd)(objectClass=auditDelete))'
+object_classes = '(|(objectClass=auditModify)(objectClass=auditAdd)(objectClass=auditDelete)(objectClass=auditModRDN))'
 
 log = logging.getLogger('log')
 log.setLevel(log_level)
@@ -73,10 +73,11 @@ def is_skipped(entry):
 
 def filtered(entry):
     """Filter out attributes not of interest"""
-    for attribute in entry['attributes']['reqMod']:
-        if rgx_filter.search(attribute):
-            log.info('filter attribute: {}'.format(attribute))
-            entry['attributes']['reqMod'].remove(attribute)
+    if 'reqMod' in  entry['attributes']:
+        for attribute in entry['attributes']['reqMod']:
+            if rgx_filter.search(attribute):
+                log.info('filter attribute: {}'.format(attribute))
+                entry['attributes']['reqMod'].remove(attribute)
 
     del entry['raw_dn']
     del entry['raw_attributes']
@@ -159,6 +160,7 @@ def main():
             log.exception('error: reading socket! trying to reconnect...')
             if slapd.reconnect():
                 log.error('socket reconnected.')
+                continue
 
         if response:
             for entry in slapd.response():