diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index 0ac932d..4430c4c 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -3425,7 +3425,8 @@ function &drupal_register_shutdown_function($callback = NULL) {
       register_shutdown_function('_drupal_shutdown_function');
     }
     $args = func_get_args();
-    array_shift($args);
+    // Remove $callback from the arguments.
+    unset($args[0]);
     // Save callback and arguments
     $callbacks[] = array('callback' => $callback, 'arguments' => $args);
   }
diff --git a/includes/form.inc b/includes/form.inc
index 846bcb5..aba7468 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -124,8 +124,8 @@ function drupal_get_form($form_id) {
 
   $args = func_get_args();
   // Remove $form_id from the arguments.
-  array_shift($args);
-  $form_state['build_info']['args'] = $args;
+  unset($args[0]);
+  $form_state['build_info']['args'] = array_values($args);
 
   return drupal_build_form($form_id, $form_state);
 }
