diff -urp contentblocker-orig/contentblocker.module contentblocker/contentblocker.module
--- contentblocker-orig/contentblocker.module	2007-06-06 23:10:14.000000000 +0200
+++ contentblocker/contentblocker.module	2007-08-26 14:20:20.000000000 +0200
@@ -307,11 +307,11 @@ function contentblocker_node_sql_type($t
     while ($row = db_fetch_array($result)) {
       $ids[] = $row['id'];
     }
-    $return['where'] = "(". $data['block_table_alias'] ."." .$data['block_field'] ." NOT IN(". implode(',', $ids) .") OR ". $data['block_table_alias'] ."." .$data['block_field'] ." IS NULL)";
+    $return['where'] = $data['block_table_alias'] ."." .$data['block_field'] ." IS NULL OR (". $data['block_table_alias'] ."." .$data['block_field'] ." NOT IN(". implode(',', $ids) ."))";
   }
   else {
     // $type is potentially user input, so escape it.
-    $return['where'] = "(". $data['block_table_alias'] ."." .$data['block_field'] ." NOT IN(SELECT id FROM {contentblocker} WHERE type = '". db_escape_string($type) ."' AND uid = ". $uid .") OR ". $data['block_table_alias'] ."." .$data['block_field'] ." IS NULL)";
+    $return['where'] = $data['block_table_alias'] ."." .$data['block_field'] ." IS NULL OR (". $data['block_table_alias'] ."." .$data['block_field'] ." NOT IN(SELECT id FROM {contentblocker} WHERE type = '". db_escape_string($type) ."' AND uid = ". $uid ."))";
   }
   return $return;
 }
