diff --git a/hshetl/extractors.py b/hshetl/extractors.py
index 0a7122516da2a3c070aa97affbdef629d7ff8bd8..e7be613ada44ab724116816f0262ab02958a54a3 100644
--- a/hshetl/extractors.py
+++ b/hshetl/extractors.py
@@ -205,8 +205,11 @@ class LdapExtractor(AbstractExtractor):
             row = {'dn': dn}
             for key, value in entry.items():
                 logging.debug('%s %s' % (key, value))
-                value = map(lambda v: unicode(v.decode(self.connector.encoding)), value)
-                if len(value) is 1: value = value[0]
+                if type(value) != list:
+                    value = unicode(value.decode(self.connector.encoding))
+                else:
+                    value = map(lambda v: unicode(v.decode(self.connector.encoding)), value)
+                    if len(value) is 1: value = value[0]
                 row[key] = value
             result.append(row)
         return result