=== modified file 'includes/form.inc'
--- includes/form.inc	
+++ includes/form.inc	
@@ -436,10 +436,16 @@ function form_builder($form_id, $form) {
       $form['#id'] =  'edit-' . implode('-', $form['#parents']);
     }
 
-    $posted = (isset($_POST['edit']) && ($_POST['edit']['form_id'] == $form_id));
-    $edit = $posted ? $_POST['edit'] : array();
-    foreach ($form['#parents'] as $parent) {
-      $edit = isset($edit[$parent]) ? $edit[$parent] : NULL;
+    if (isset($form['#access']) && !$form['#access']) {
+      $form['#type'] = 'value';
+      $posted = FALSE;
+    }
+    else {
+      $posted = (isset($_POST['edit']) && ($_POST['edit']['form_id'] == $form_id));
+      $edit = $posted ? $_POST['edit'] : array();
+      foreach ($form['#parents'] as $parent) {
+        $edit = isset($edit[$parent]) ? $edit[$parent] : NULL;
+      }
     }
     if (!isset($form['#value']) && !array_key_exists('#value', $form)) {
       if ($posted) {
