diff --git a/entity_translation.module b/entity_translation.module
index 06c313e..2e29458 100644
--- a/entity_translation.module
+++ b/entity_translation.module
@@ -1172,12 +1172,14 @@ function entity_translation_field_attach_form($entity_type, $entity, &$form, &$f
     // Handle fields shared between translations when there is at least one
     // translation available or a new one is being created.
     if (!$handler->isNewEntity() && ($new_translation || count($translations->data) > 1)) {
-      $access = $handler->getSharedFieldsAccess();
+      $shared_access = $handler->getSharedFieldsAccess();
       list(, , $bundle) = entity_extract_ids($entity_type, $entity);
       foreach (field_info_instances($entity_type, $bundle) as $instance) {
         $field_name = $instance['field_name'];
         $field = field_info_field($field_name);
-        $form[$field_name]['#access'] = !empty($form[$field_name]['#access']) && ($field['translatable'] || $access);
+        // If access is not set or is granted we check whether the user has
+        // access to shared fields.
+        $form[$field_name]['#access'] = (!isset($form[$field_name]['#access']) || $form[$field_name]['#access']) && ($field['translatable'] || $shared_access);
         $form[$field_name]['#multilingual'] = (boolean) $field['translatable'];
       }
     }
