diff --git a/includes/form.inc b/includes/form.inc
index a337b03..f8c60f6 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -1003,6 +1003,8 @@ function drupal_prepare_form($form_id, &$form, &$form_state) {
       $form['#validate'][] = $form_state['build_info']['base_form_id'] . '_validate';
     }
   }
+  // In any case, ensure that modules can rely on #validate being set.
+  $form += array('#validate' => array());
 
   if (!isset($form['#submit'])) {
     // Check for a handler specific to $form_id.
@@ -1015,6 +1017,8 @@ function drupal_prepare_form($form_id, &$form, &$form_state) {
       $form['#submit'][] = $form_state['build_info']['base_form_id'] . '_submit';
     }
   }
+  // In any case, ensure that modules can rely on #submit being set.
+  $form += array('#submit' => array());
 
   // If no #theme has been set, automatically apply theme suggestions.
   // theme_form() itself is in #theme_wrappers and not #theme. Therefore, the
