diff --git a/src/backend/utils/resowner/resowner.c b/src/backend/utils/resowner/resowner.c
index 6189d05107..e6b136ca04 100644
--- a/src/backend/utils/resowner/resowner.c
+++ b/src/backend/utils/resowner/resowner.c
@@ -37,7 +37,7 @@
 typedef struct ResourceElem
 {
 	Datum		item;
-	ResourceOwnerFuncs *kind;
+	ResourceOwnerFuncs *kind; /* kind == NULL indicates a free hash table slot */
 } ResourceElem;
 
 /*
@@ -186,9 +186,14 @@ hash_resource_elem(Datum value, ResourceOwnerFuncs *kind)
 #endif
 }
 
+/*
+ * Adds 'value' of given 'kind' to the ResourceOwner's hash table
+ */
 static void
 ResourceOwnerAddToHash(ResourceOwner owner, Datum value, ResourceOwnerFuncs *kind)
 {
+	Assert(kind != NULL);
+
 	/* Insert into first free slot at or after hash location. */
 	uint32		mask = owner->capacity - 1;
 	uint32		idx;
@@ -197,7 +202,7 @@ ResourceOwnerAddToHash(ResourceOwner owner, Datum value, ResourceOwnerFuncs *kin
 	for (;;)
 	{
 		if (owner->hash[idx].kind == NULL)
-			break;
+			break; /* free slot found */
 		idx = (idx + 1) & mask;
 	}
 	owner->hash[idx].item = value;
@@ -408,9 +413,6 @@ ResourceOwnerRemember(ResourceOwner owner, Datum value, ResourceOwnerFuncs *kind
 /*
  * Forget that an object is owned by a ResourceOwner
  *
- * Returns true on success. If the resource was not found, returns false,
- * and calls kind->ForgetError callback.
- *
  * Note: if same resource ID is associated with the ResourceOwner more than once,
  * one instance is removed.
  */
