Index: middleware/sessions.py
===================================================================
--- middleware/sessions.py	(revision 773)
+++ middleware/sessions.py	(working copy)
@@ -69,6 +69,8 @@
             session_key = request.session.session_key or sessions.get_new_session_key()
             new_session = sessions.save(session_key, request.session._session,
                 datetime.datetime.now() + datetime.timedelta(seconds=SESSION_COOKIE_AGE))
+            SESSION_COOKIE_EXPIRES = datetime.datetime.strftime(datetime.datetime.now() + datetime.timedelta(seconds=SESSION_COOKIE_AGE), "%a, %d-%b-%Y %H:%M:%S GMT")
             response.set_cookie(SESSION_COOKIE_NAME, session_key,
-                max_age=SESSION_COOKIE_AGE, domain=SESSION_COOKIE_DOMAIN)
+                max_age=SESSION_COOKIE_AGE, expires=SESSION_COOKIE_EXPIRES, domain=SESSION_COOKIE_DOMAIN)
         return response
Index: utils/httpwrappers.py
===================================================================
--- utils/httpwrappers.py	(revision 773)
+++ utils/httpwrappers.py	(working copy)
@@ -172,9 +172,9 @@
                 return True
         return False
 
-    def set_cookie(self, key, value='', max_age=None, path='/', domain=None, secure=None):
+    def set_cookie(self, key, value='', max_age=None, expires=None, path='/', domain=None, secure=None):
         self.cookies[key] = value
-        for var in ('max_age', 'path', 'domain', 'secure'):
+        for var in ('max_age', 'path', 'domain', 'secure' , 'expires'):
             val = locals()[var]
             if val is not None:
                 self.cookies[key][var.replace('_', '-')] = val
