diff --git a/includes/session.inc b/includes/session.inc
index 48938d2ca0c87b29ea25ec0b11f0826e1be16cf6..bb9cc8900860a8e1944d83b402a37a04c22b7592 100644
--- a/includes/session.inc
+++ b/includes/session.inc
@@ -53,8 +53,12 @@ function sess_write($key, $value) {
   $result = db_query("SELECT sid FROM {sessions} WHERE sid = '%s'", $key);
 
   if (!db_num_rows($result)) {
-    // Only save session data when there is session data available.
-    if ($user->uid || $value) {
+    // Only save session data when when the browser sends a cookie.  This keeps 
+    // crawlers out of session table. This improves speed up queries, reduces 
+    // memory, and gives more useful statistics. We can't eliminate anonymous
+    // session table rows without breaking throttle modulee and "Who's Online"
+    // block.
+    if ($user->uid || $value || count($_COOKIE)) {
       db_query("INSERT INTO {sessions} (sid, uid, cache, hostname, session, timestamp) VALUES ('%s', %d, %d, '%s', '%s', %d)", $key, $user->uid, $user->cache, $_SERVER["REMOTE_ADDR"], $value, time());
     }
   }