That doesn't go there. Put cache fix around correct query.

Signed-off-by: dchill42 <dchill42@gmail.com>
diff --git a/system/libraries/Session/drivers/Session_cookie.php b/system/libraries/Session/drivers/Session_cookie.php
index ce63b97..52eeddb 100755
--- a/system/libraries/Session/drivers/Session_cookie.php
+++ b/system/libraries/Session/drivers/Session_cookie.php
@@ -444,8 +444,19 @@
 				$this->CI->db->where('user_agent', $session['user_agent']);
 			}
 
+			// Is caching in effect? Turn it off
+			$db_cache = $this->CI->db->cache_on;
+			$this->CI->db->cache_off();
+
 			$query = $this->CI->db->limit(1)->get($this->sess_table_name);
 
+			// Was caching in effect?
+			if ($db_cache)
+			{
+				// Turn it back on
+				$this->CI->db->cache_on();
+			}
+
 			// No result? Kill it!
 			if ($query->num_rows() === 0)
 			{
@@ -572,22 +583,11 @@
 				$set['user_data'] = $this->_serialize($userdata);
 			}
 
-			// Is caching in effect? Turn it off
-			$db_cache = $this->CI->db->cache_on;
-			$this->CI->db->cache_off();
-
 			// Run the update query
 			// Any time we change the session id, it gets updated immediately,
 			// so our where clause below is always safe
 			$this->CI->db->update($this->sess_table_name, $set, array('session_id' => $this->userdata['session_id']));
 
-			// Was caching in effect?
-			if ($db_cache)
-			{
-				// Turn it back on
-				$this->CI->db->cache_on();
-			}
-
 			// Clear dirty flag to prevent double updates
 			$this->data_dirty = FALSE;