diff --git a/lib/SimpleSAML/SessionHandlerCookie.php b/lib/SimpleSAML/SessionHandlerCookie.php
index f69d060b18879d1d5fd7c8cf0aa7ea06b0b1f4b6..0156a311a283350c2b3bd52786512fa80e8711ee 100644
--- a/lib/SimpleSAML/SessionHandlerCookie.php
+++ b/lib/SimpleSAML/SessionHandlerCookie.php
@@ -55,9 +55,8 @@ extends SimpleSAML_SessionHandler {
 			if(!self::isValidSessionID($this->session_id)) {
 				/* We don't have a valid session. Create a new session id. */
 				$this->session_id = self::createSessionID();
+				$this->setCookie($this->cookie_name, $this->session_id);
 			}
-
-			$this->setCookie($this->cookie_name, $this->session_id);
 		}
 
 		return $this->session_id;