Index: core/kernel/db/cat_event_handler.php
===================================================================
--- core/kernel/db/cat_event_handler.php
+++ core/kernel/db/cat_event_handler.php
@@ -505,32 +505,33 @@
 			/* @var $p_item kCatDBItem */
 
 			$p_item->Load( (int)$id );
+			$related_ids = array();
 
-			$p_resource_id = $p_item->GetDBField('ResourceId');
+			if ( $p_item->isLoaded() ) {
+				$p_resource_id = (int)$p_item->GetDBField('ResourceId');
+				$sql = 'SELECT SourceId, TargetId FROM ' . $rel_table . '
+						WHERE
+							(Enabled = 1)
+							AND (
+									(Type = 0 AND SourceId = ' . $p_resource_id . ' AND TargetType = ' . $item_type . ')
+									OR
+									(Type = 1
+										AND (
+												(SourceId = ' . $p_resource_id . ' AND TargetType = ' . $item_type . ')
+												OR
+												(TargetId = ' . $p_resource_id . ' AND SourceType = ' . $item_type . ')
+											)
+									)
+							)';
 
-			$sql = 'SELECT SourceId, TargetId FROM '.$rel_table.'
-					WHERE
-						(Enabled = 1)
-						AND (
-								(Type = 0 AND SourceId = '.$p_resource_id.' AND TargetType = '.$item_type.')
-								OR
-								(Type = 1
-									AND (
-											(SourceId = '.$p_resource_id.' AND TargetType = '.$item_type.')
-											OR
-											(TargetId = '.$p_resource_id.' AND SourceType = '.$item_type.')
-										)
-								)
-						)';
+				$related_ids_array = $this->Conn->Query($sql);
 
-			$related_ids_array = $this->Conn->Query($sql);
-			$related_ids = Array();
-
-			foreach ($related_ids_array as $record) {
-				$related_ids[] = $record[ $record['SourceId'] == $p_resource_id ? 'TargetId' : 'SourceId' ];
+				foreach ( $related_ids_array as $record ) {
+					$related_ids[] = $record[$record['SourceId'] == $p_resource_id ? 'TargetId' : 'SourceId'];
+				}
 			}
 
-			if (count($related_ids) > 0) {
+			if ( $related_ids ) {
 				$type_clauses['related']['include'] = '%1$s.ResourceId IN ('.implode(',', $related_ids).') AND PrimaryCat = 1';
 				$type_clauses['related']['except'] = '%1$s.ResourceId NOT IN ('.implode(',', $related_ids).') AND PrimaryCat = 1';
 			}
@@ -538,6 +539,7 @@
 				$type_clauses['related']['include'] = '0';
 				$type_clauses['related']['except'] = '1';
 			}
+
 			$type_clauses['related']['having_filter'] = false;
 		}
 
Index: core/units/categories/categories_event_handler.php
===================================================================
--- core/units/categories/categories_event_handler.php
+++ core/units/categories/categories_event_handler.php
@@ -399,32 +399,34 @@
 				/* @var $p_item kCatDBItem */
 
 				$p_item->Load( (int)$id );
+				$related_ids = array();
 
-				$p_resource_id = $p_item->GetDBField('ResourceId');
+				if ( $p_item->isLoaded() ) {
+					$p_resource_id = (int)$p_item->GetDBField('ResourceId');
 
-				$sql = 'SELECT SourceId, TargetId FROM '.$rel_table.'
-						WHERE
-							(Enabled = 1)
-							AND (
-									(Type = 0 AND SourceId = '.$p_resource_id.' AND TargetType = '.$item_type.')
+					$sql = 'SELECT SourceId, TargetId FROM ' . $rel_table . '
+							WHERE
+								(Enabled = 1)
+								AND (
+									(Type = 0 AND SourceId = ' . $p_resource_id . ' AND TargetType = ' . $item_type . ')
 									OR
 									(Type = 1
 										AND (
-												(SourceId = '.$p_resource_id.' AND TargetType = '.$item_type.')
+												(SourceId = ' . $p_resource_id . ' AND TargetType = ' . $item_type . ')
 												OR
-												(TargetId = '.$p_resource_id.' AND SourceType = '.$item_type.')
+												(TargetId = ' . $p_resource_id . ' AND SourceType = ' . $item_type . ')
 											)
 									)
-							)';
+								)';
 
-				$related_ids_array = $this->Conn->Query($sql);
-				$related_ids = Array();
+					$related_ids_array = $this->Conn->Query($sql);
 
-				foreach ($related_ids_array as $key => $record) {
-					$related_ids[] = $record[ $record['SourceId'] == $p_resource_id ? 'TargetId' : 'SourceId' ];
+					foreach ( $related_ids_array as $key => $record ) {
+						$related_ids[] = $record[$record['SourceId'] == $p_resource_id ? 'TargetId' : 'SourceId'];
+					}
 				}
 
-				if (count($related_ids) > 0) {
+				if ( $related_ids ) {
 					$type_clauses['related']['include'] = '%1$s.ResourceId IN ('.implode(',', $related_ids).')';
 					$type_clauses['related']['except'] = '%1$s.ResourceId NOT IN ('.implode(',', $related_ids).')';
 				}