diff --git a/includes/form.inc b/includes/form.inc
index c33ea6a3694eb522b50f6b6ec6cd8d53df4d8170..83936eed05327b5721608bb61b74e4779f10441d 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -49,7 +49,9 @@ function element_children($element) {
  * and then submit the form using drupal_submit_form().
  *
  * @param $form_id
- *   A unique string identifying the form. Allows each form to be themed.
+ *   A unique string identifying the form. Allows each form to be
+ *   themed.  Pass NULL to suppress the form_id parameter (produces
+ *   a shorter URL with method=get)
  * @param $form
  *   An associative array containing the structure of the form.
  * @param $callback
@@ -70,7 +72,9 @@ function drupal_get_form($form_id, &$form, $callback = NULL) {
 
     $form['form_token'] = array('#type' => 'hidden', '#default_value' => md5(session_id() . $form['#token'] . variable_get('drupal_private_key', '')));
   }
-  $form['form_id'] = array('#type' => 'hidden', '#value' => $form_id);
+  if (isset($form_id)) {
+    $form['form_id'] = array('#type' => 'hidden', '#value' => $form_id);
+  }
   if (!isset($form['#id'])) {
     $form['#id'] = $form_id;
   }