diff --git a/i18n_access.module b/i18n_access.module
index 5f4aa56..b3cc1c8 100644
--- a/i18n_access.module
+++ b/i18n_access.module
@@ -104,20 +104,25 @@ function i18n_access_permission() {
  */
 function i18n_access_form_node_form_alter(&$form, &$form_state, $form_id) {
 
-  if (isset($form['language']['#options'])) {
-  // Remove inaccessible languages from the select box
-    // don't do it for  admininstrators
-    if (!user_access('administer nodes')) {
-      $perms = i18n_access_load_permissions();
-      foreach ($form['language']['#options'] as $key => $value) {
-        $perm_key = ($key == '') ? I18N_ACCESS_LANGUAGE_NEUTRAL : $key;
-        if ($key!='en' && empty($perms[$perm_key])) {
-          unset($form['language']['#options']["$key"]);
+    if (isset($form['language']['#options'])) {
+        // Remove inaccessible languages from the select box
+        // don't do it for  admininstrators
+        if (!user_access('administer nodes')) {
+            $perms = i18n_access_load_permissions();
+
+            //we only want to filter on the enabled and leave the disabled behind
+            if(isset($form['language']['#options']['Enabled']))
+                $form['language']['#options']=$form['language']['#options']['Enabled'];
+
+            foreach ($form['language']['#options'] as $key => $value) {
+                $perm_key = ($key == '') ? I18N_ACCESS_LANGUAGE_NEUTRAL : $key;
+                if ($key!='en' && empty($perms[$perm_key])) {
+                    unset($form['language']['#options']["$key"]);
+                }
+            }
         }
-      }
+        unset($form['#after_build']['0']);
     }
-    unset($form['#after_build']['0']);
-  }
 }
 
 /**
