diff --git a/core/lib/Drupal/Core/Form/FormBuilder.php b/core/lib/Drupal/Core/Form/FormBuilder.php
index de36029..7ea68c5 100644
--- a/core/lib/Drupal/Core/Form/FormBuilder.php
+++ b/core/lib/Drupal/Core/Form/FormBuilder.php
@@ -441,9 +441,9 @@ protected function getUncacheableKeys() {
   public function submitForm($form_arg, &$form_state) {
     if (!isset($form_state['build_info']['args'])) {
       $args = func_get_args();
-      array_shift($args);
-      array_shift($args);
-      $form_state['build_info']['args'] = $args;
+      // Remove $form and $form_state from the arguments.
+      unset($args[0], $args[1]);
+      $form_state['build_info']['args'] = array_values($args);
     }
     // Merge in default values.
     $form_state += $this->getFormStateDefaults();
