diff --git a/hshetl/loaders.py b/hshetl/loaders.py
index 6324758ce74ec97fb45a8bb2790f3fcdb5065400..5e871e28a9db39f723290141a686ba165abf913d 100644
--- a/hshetl/loaders.py
+++ b/hshetl/loaders.py
@@ -382,10 +382,10 @@ class LdapLoader(AbstractLoader):
             attributes = modlist.modifyModlist(old_entity_dict, entity_dict)
             try:
                 if self.dry:
-                    logging.info('Would modify dn {} with {} '.format(dn, str(attributes)))
+                    logging.info('Would modify dn {} with {} '.format(dn, self._generate_modify_logging(attributes, old_entity_dict, entity_dict)))
                 else:
                     connection.modify_s(dn, attributes)
-                    logging.info('Modified dn {} with {} '.format(dn, str(attributes)))
+                    logging.info('Modified dn {} with {} '.format(dn, self._generate_modify_logging(attributes, old_entity_dict, entity_dict)))
             except Exception, e:
                 logging.warn('Update failed for dn \'' + dn + '\': ' + str(e))
 
@@ -438,3 +438,14 @@ class LdapLoader(AbstractLoader):
             elif element == None:
                 data[key] = ''
         return data
+
+    def _generate_modify_logging(self, attributes, old, new):
+        '''Generates a nicer representation of the executed query than str(attributes) would'''
+        changed_attributes = []
+        output = ''
+        for operation in attributes:
+            if operation[1] not in changed_attributes:
+                changed_attributes.append(operation[1])
+        for attribute in changed_attributes:
+            output += attribute + ': ' + old[attribute] + ' -> ' + new[attribute] + ', '
+        return output[:-2]