diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c
index 67a7749a30b265c46a590730595249af027931b0..e606ac2b9ed2fb50c058937a05e21b98494d67aa 100644
--- a/src/backend/catalog/heap.c
+++ b/src/backend/catalog/heap.c
@@ -1295,6 +1295,7 @@ heap_create_with_catalog(const char *relname,
 	{
 		Assert(relkind == RELKIND_RELATION || relkind == RELKIND_TOASTVALUE);
 
+		RelationOpenSmgr(new_rel_desc);
 		smgrcreate(new_rel_desc->rd_smgr, INIT_FORKNUM, false);
 		if (XLogIsNeeded())
 			log_smgrcreate(&new_rel_desc->rd_smgr->smgr_rnode.node,