Index: includes/session.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/session.inc,v
retrieving revision 1.85
diff -u -p -r1.85 session.inc
--- includes/session.inc	14 Jun 2010 12:31:46 -0000	1.85
+++ includes/session.inc	21 Jun 2010 22:33:44 -0000
@@ -315,6 +315,8 @@ function drupal_session_regenerate() {
 
   if (drupal_session_started()) {
     $old_session_id = session_id();
+    // Remove the old session cookie.
+    unset($_COOKIE[session_name()]);
     session_regenerate_id();
   }
   else {
@@ -327,6 +329,10 @@ function drupal_session_regenerate() {
   }
 
   if (isset($old_session_id)) {
+    // Save the new session cookie for code which assumes it will be present,
+    // such as sess_write().
+    $_COOKIE[session_name()] = session_id();
+
     $fields = array('sid' => session_id());
     if ($is_https) {
       $fields['ssid'] = session_id();
