diff --git a/session-no-anon.inc b/session-no-anon.inc
index 71cffc0..0e1b71e 100644
--- a/session-no-anon.inc
+++ b/session-no-anon.inc
@@ -1,4 +1,5 @@
 <?php
+// $Id: session-no-anon.inc,v 1.1.2.1 2009/05/30 03:24:27 kbahey Exp $
 
 /**
  * @file
@@ -23,8 +24,6 @@ function sess_read($key) {
 
   // Handle the case of first time visitors and clients that don't store cookies (eg. web crawlers).
   if (!isset($_COOKIE[session_name()])) {
-    // Modification for no_anon module: turn off session cookies
-    ini_set('session.use_cookies', 0);
     $user = drupal_anonymous_user();
     return '';
   }
@@ -33,7 +32,7 @@ function sess_read($key) {
   $user = db_fetch_object(db_query("SELECT u.*, s.* FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.sid = '%s'", $key));
 
   // We found the client's session record and they are an authenticated user
-  if ($user && $user->uid > 0) {
+  if ($user && $user->uid > 0 && $user->status == 1) {
     // This is done to unserialize the data member of $user
     $user = drupal_unpack($user);
 
@@ -60,15 +59,11 @@ function sess_write($key, $value) {
   // If saving of session data is disabled or if the client doesn't have a session,
   // and one isn't being created ($value), do nothing. This keeps crawlers out of
   // the session table. This reduces memory and server load, and gives more useful
-  // statistics. We can't eliminate anonymous session table rows without breaking
-  // the throttle module and the "Who's Online" block.
-  //
-  // Modification for no_anon module: eliminate anonymous sessions.
-  // Note that the throttle module, and the "Who's Online" block does not work.
-  if (!session_save_session() || $user->uid == 0) {
+  // statistics. 
+  if (!session_save_session() || ($user->uid == 0 && empty($value) && empty($user->session))) {
     return TRUE;
   }
-
+  
   db_query("UPDATE {sessions} SET uid = %d, cache = %d, hostname = '%s', session = '%s', timestamp = %d WHERE sid = '%s'", $user->uid, isset($user->cache) ? $user->cache : '', ip_address(), $value, time(), $key);
   if (db_affected_rows()) {
     // Last access time is updated no more frequently than once every 180 seconds.
