--- protected_node.module	2009-02-28 10:35:59.000000000 +0100
+++ protected_node.module.patched	2009-04-30 16:01:46.000000000 +0200
@@ -172,15 +172,15 @@
       }
       break;
     case 'view' :
-      if ($node->is_protected && !user_access('bypass password protection')) {
-        // If we have been accessed from cron.php (f.e. search indexing)
-        if (variable_get( 'cron_semaphore', FALSE )) {
+      if ($node->is_protected) {
+        // If we are accessed for search indexing.
+        if ($node->build_mode == NODE_BUILD_SEARCH_INDEX) {
           $node->title = '';
           $node->teaser = '';
           $node->body = '';
           $node->content = array();
         }
-        else {
+        elseif (!user_access('bypass password protection')) {
           if (!$user->uid && variable_get( 'cache', 0 )) {
             $GLOBALS['conf']['cache'] = FALSE;
           }
