--- drupal-6.9/includes/form.inc	2009-01-12 11:07:23.000000000 -0500
+++ drupal-6.9-sgd/includes/form.inc	2009-01-15 12:47:13.000000000 -0500
@@ -625,13 +625,13 @@
   if (!isset($goto) || ($goto !== FALSE)) {
     if (isset($goto)) {
       if (is_array($goto)) {
-        call_user_func_array('drupal_goto', $goto);
+        call_user_func_array('drupal_goto', $goto, NULL, NULL, 303);
       }
       else {
-        drupal_goto($goto);
+        drupal_goto($goto, NULL, NULL, 303);
       }
     }
-    drupal_goto($_GET['q']);
+    drupal_goto($_GET['q'], NULL, NULL, 303);
   }
 }
 
@@ -2052,7 +2052,19 @@
  */
 function theme_form($element) {
   // Anonymous div to satisfy XHTML compliance.
-  $action = $element['#action'] ? 'action="'. check_url($element['#action']) .'" ' : '';
+
+  $action = '';
+  
+  if ($element['#action']) {
+    $pieces = explode("?", $element['#action'], 2);
+    $url = $pieces[0];
+    parse_str($pieces[1], $params);
+    $params['form_post'] = 1;
+    $query = drupal_query_string_encode($params);
+    $action_url = implode('', array($url, "?", $query));
+    $action = 'action="' . check_url($action_url) . '"';
+  }
+
   return '<form '. $action .' accept-charset="UTF-8" method="'. $element['#method'] .'" id="'. $element['#id'] .'"'. drupal_attributes($element['#attributes']) .">\n<div>". $element['#children'] ."\n</div></form>\n";
 }
 
