diff -Naur a/ldap_user/LdapUserConf.class.php b/ldap_user/LdapUserConf.class.php
--- a/ldap_user/LdapUserConf.class.php	2016-04-07 07:19:36.000000000 +0200
+++ b/ldap_user/LdapUserConf.class.php	2016-04-07 14:43:57.413010490 +0200
@@ -282,7 +282,17 @@
           if (!empty($mapping['prov_events'])) {
             $result = count(array_intersect($prov_events, $mapping['prov_events']));
             if ($result) {
-              $mappings[$attribute] = $mapping;
+              if ($direction == LDAP_USER_PROV_DIRECTION_TO_DRUPAL_USER && isset($mapping['user_attr'])) {
+                $key = $mapping['user_attr'];
+              }
+              elseif ($direction == LDAP_USER_PROV_DIRECTION_TO_LDAP_ENTRY && isset($mapping['ldap_attr'])) {
+                $key = $mapping['ldap_attr'];
+              }
+              else {
+                continue;
+              }
+              
+              $mappings[$key] = $mapping;
             }
           }
         }
@@ -1262,11 +1272,11 @@
       // Are we dealing with a field?
       if ($value_type == 'field') {
         // Field api field - first we get the field.
-        $field = field_info_field($value_name);
+        $field = \Drupal\field\Entity\FieldStorageConfig::loadByName('user', $value_name);
         // Then the columns for the field in the schema.
-        $columns = array_keys($field['columns']);
+        $columns = $field->getColumns();
         // Then we convert the value into an array if it's scalar.
-        $values = $field['cardinality'] == 1 ? array($value) : (array) $value;
+        $values = $field->getCardinality() ? array($value) : (array) $value;
 
         $items = array();
         // Loop over the values and set them in our $items array.
@@ -1274,11 +1284,11 @@
           if (isset($value)) {
             // We set the first column value only, this is consistent with
             // the Entity Api (@see entity_metadata_field_property_set).
-            $items[$delta][$columns[0]] = $value;
+            $items[$delta][key($columns)] = $value;
           }
         }
         // Add them to our edited item.
-        $edit[$value_name][\Drupal\Core\Language\Language::LANGCODE_NOT_SPECIFIED] = $items;
+        $edit[$value_name] = $items;
       }
       elseif ($value_type == 'property') {
         // Straight property.
diff -Naur a/ldap_user/ldap_user.module b/ldap_user/ldap_user.module
--- a/ldap_user/ldap_user.module	2016-04-07 07:19:36.000000000 +0200
+++ b/ldap_user/ldap_user.module	2016-04-07 14:43:55.829010519 +0200
@@ -417,15 +417,15 @@
     if (!isset($available_user_attrs[$field_id]) || !is_array($available_user_attrs[$field_id])) {
       $available_user_attrs[$field_id] = array();
     }
-    // @FIXME: not working with entityManager() replacement of field_info_instances
-    // $available_user_attrs[$field_id] = $available_user_attrs[$field_id] + array(
-    //   'name' => t('Field') . ': ' . $field_instance['label'],
-    //   'configurable_to_drupal' => 1,
-    //   'configurable_to_ldap' => 1,
-    //   'enabled' => FALSE,
-    //   'config_module' => 'ldap_user',
-    //   'prov_module' => 'ldap_user',
-    // );
+
+    $available_user_attrs[$field_id] = $available_user_attrs[$field_id] + array(
+      'name' => t('Field') . ': ' . $field_instance->getLabel(),
+      'configurable_to_drupal' => 1,
+      'configurable_to_ldap' => 1,
+      'enabled' => FALSE,
+      'config_module' => 'ldap_user',
+      'prov_module' => 'ldap_user',
+    );
   }
 
 
