Index: django/contrib/sessions/middleware.py
===================================================================
--- django/contrib/sessions/middleware.py	(revision 7407)
+++ django/contrib/sessions/middleware.py	(working copy)
@@ -33,7 +33,7 @@
                     max_age = settings.SESSION_COOKIE_AGE
                     expires_time = time.time() + settings.SESSION_COOKIE_AGE
                     expires = cookie_date(expires_time)
-                # Save the seesion data and refresh the client cookie.
+                # Save the session data and refresh the client cookie.
                 request.session.save()
                 response.set_cookie(settings.SESSION_COOKIE_NAME,
                         request.session.session_key, max_age=max_age,
Index: django/contrib/sessions/backends/file.py
===================================================================
--- django/contrib/sessions/backends/file.py	(revision 7407)
+++ django/contrib/sessions/backends/file.py	(working copy)
@@ -57,6 +57,8 @@
         return session_data
 
     def save(self):
+        # make sure the session dict is loaded into memory before saving it back
+        self._get_session()
         try:
             f = open(self._key_to_file(self.session_key), "wb")
             try:
Index: django/contrib/sessions/backends/cache.py
===================================================================
--- django/contrib/sessions/backends/cache.py	(revision 7407)
+++ django/contrib/sessions/backends/cache.py	(working copy)
@@ -15,6 +15,8 @@
         return session_data or {}
 
     def save(self):
+        # make sure the session dict is loaded into memory before saving it back
+        self._get_session()
         self._cache.set(self.session_key, self._session, settings.SESSION_COOKIE_AGE)
 
     def exists(self, session_key):
Index: django/contrib/sessions/backends/db.py
===================================================================
--- django/contrib/sessions/backends/db.py	(revision 7407)
+++ django/contrib/sessions/backends/db.py	(working copy)
@@ -38,6 +38,8 @@
         return True
 
     def save(self):
+        # make sure the session dict is loaded into memory before saving it back
+        self._get_session()
         Session.objects.create(
             session_key = self.session_key,
             session_data = self.encode(self._session),
