diff --git a/src/palloc.cc b/src/palloc.cc
index 34528cfe710e59c613dff153093eff13595501e1..5fc6e2ece58e57bc08ac642c21ba69c49c9b7960 100644
--- a/src/palloc.cc
+++ b/src/palloc.cc
@@ -187,7 +187,8 @@ next_chunk_for(struct palloc_pool *restrict pool, size_t size)
 	while (clazz != NULL && clazz->allocated_size < size + sizeof(struct chunk))
 		clazz = TAILQ_NEXT(clazz, link);
 
-	assert(clazz != NULL);
+	if (clazz == NULL)
+		return NULL;
 
 	chunk = SLIST_FIRST(&clazz->chunks);
 	if (chunk != NULL) {