diff --git a/field_collection_table.module b/field_collection_table.module
index 7f43bd8..70e1303 100644
--- a/field_collection_table.module
+++ b/field_collection_table.module
@@ -46,6 +46,7 @@ function field_collection_table_field_formatter_info() {
  * Implements hook_field_formatter_view().
  */
 function field_collection_table_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  global $user;
   $element = array();
   $settings = $display['settings'];
 
@@ -54,12 +55,16 @@ function field_collection_table_field_formatter_view($entity_type, $entity, $fie
       $header = array();
       $field_names = array();
       foreach (field_info_instances('field_collection_item', $field['field_name']) as $field_collection_item) {
-        $weight = $field_collection_item['display']['default']['weight'];
-        $field_names[$weight] = $field_collection_item['field_name'];
-        $header[$weight] = array(
-          'data' => $field_collection_item['label'],
-          'class' => $field_names[$weight],
-        );
+        // Check field permissions.
+        $field_info = field_info_field($field_collection_item['field_name']);
+        if (field_access('view', $field_info, 'node', $entity, $user)) {
+          $weight = $field_collection_item['display']['default']['weight'];
+          $field_names[$weight] = $field_collection_item['field_name'];
+          $header[$weight] = array(
+            'data' => $field_collection_item['label'],
+            'class' => $field_names[$weight],
+          ); 
+        }
       }
       ksort($header);
       ksort($field_names);
@@ -264,3 +269,4 @@ function field_collection_table_entity_view($entity, $type, $view_mode, $langcod
     $entity->content['#pre_render'][] = 'field_collection_table_pre_render_field';
   }
 }
+
diff --git a/theme/theme.inc b/theme/theme.inc
index ff0ec11..ce27673 100644
--- a/theme/theme.inc
+++ b/theme/theme.inc
@@ -80,7 +80,7 @@ function theme_field_collection_table_multiple_value_fields($variables) {
         array('data' => '', 'class' => array('field-multiple-drag')),
       );
       foreach (element_children($item) as $child) {
-        if (isset($item[$child]['#language']) && $key == 0) {
+        if (isset($item[$child]['#language']) && isset($item[$child][$item[$child]['#language']][0]) && $key == 0) {
           $header[] = array(
             'data' => '<label>' . t('!title', array('!title' => $item[$child][$item[$child]['#language']]['#title'])) . '</label>',
             'class' => array('field-label'),
