Index: includes/session.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/session.inc,v
retrieving revision 1.71
diff -u -p -r1.71 session.inc
--- includes/session.inc	5 Sep 2009 13:05:30 -0000	1.71
+++ includes/session.inc	12 Sep 2009 01:52:17 -0000
@@ -152,8 +152,8 @@ function _drupal_session_write($sid, $va
     'timestamp' => REQUEST_TIME,
   );
   $insecure_session_name = substr(session_name(), 1);
-  if ($is_https && isset($_COOKIE[$insecure_session_name])) {
-    $fields['sid'] = $_COOKIE[$insecure_session_name];
+  if ($is_https) {
+    $fields['sid'] = isset($_COOKIE[$insecure_session_name]) ? $_COOKIE[$insecure_session_name] : $sid;
   }
   db_merge('sessions')
     ->key(array($is_https ? 'ssid' : 'sid' => $sid))
