=== modified file 'includes/form.inc'
--- includes/form.inc	
+++ includes/form.inc	
@@ -518,6 +518,10 @@ function form_builder($form_id, $form) {
   // Recurse through all child elements.
   $count  = 0;
   foreach (element_children($form) as $key) {
+    if (isset($form[$key]['#access']) && !$form[$key]['#access']) {
+      unset($form[$key]);
+      continue;
+    }
     // don't squash an existing tree value
     if (!isset($form[$key]['#tree'])) {
       $form[$key]['#tree'] = $form['#tree'];
