diff --git a/cake/libs/cake_session.php b/cake/libs/cake_session.php
index 4d55cd9a6..83905c382 100644
--- a/cake/libs/cake_session.php
+++ b/cake/libs/cake_session.php
@@ -114,6 +114,13 @@ class CakeSession extends Object {
  */
 	var $id = null;
 
+/**
+ * Session Started
+ *
+ * @var boolean
+ * @access public
+ */
+	var $started = false;
 /**
  * Constructor.
  *
@@ -181,16 +188,19 @@ class CakeSession extends Object {
 /**
  * Starts the Session.
  *
- * @param string $name Variable name to check for
- * @return boolean True if variable is there
+ * @return boolean True if session was started
  * @access public
  */
 	function start() {
+		if ($this->started) {
+			return true;
+		}
 		if (function_exists('session_write_close')) {
 			session_write_close();
 		}
 		$this->__initSession();
-		return $this->__startSession();
+		$this->started = $this->__startSession();
+		return $this->started;
 	}
 
 /**