diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c
index 2f185f7823..3394abb602 100644
--- a/src/backend/replication/logical/snapbuild.c
+++ b/src/backend/replication/logical/snapbuild.c
@@ -615,6 +615,8 @@ SnapBuildInitialSnapshot(SnapBuild *builder)
 
 		TransactionIdAdvance(xid);
 	}
+	/* And of course, adjust snapshot type accordingly. */
+	snap->snapshot_type = SNAPSHOT_MVCC;
 
 	snap->xcnt = newxcnt;
 	snap->xip = newxip;
diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c
index 6e02585e10..bc0166cc6f 100644
--- a/src/backend/utils/time/snapmgr.c
+++ b/src/backend/utils/time/snapmgr.c
@@ -1502,6 +1502,13 @@ ImportSnapshot(const char *idstr)
 	 */
 	memset(&snapshot, 0, sizeof(snapshot));
 
+	/*
+	 * Do not rely on the fact that SNAPSHOT_MVCC is zero. (The core code
+	 * currently does not use this field of imported snapshot, but let's keep
+	 * things consistent.)
+	 */
+	snapshot.snapshot_type = SNAPSHOT_MVCC;
+
 	parseVxidFromText("vxid:", &filebuf, path, &src_vxid);
 	src_pid = parseIntFromText("pid:", &filebuf, path);
 	/* we abuse parseXidFromText a bit here ... */
