diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c
index cc39bc29f4d7449d72c662b5b2945e5452b80c3b..8da18ef913f0eb33c963d07ac6a101b027790289 100644
--- a/src/backend/port/sysv_shmem.c
+++ b/src/backend/port/sysv_shmem.c
@@ -675,6 +675,7 @@ PGSharedMemoryCreate(Size size, int port,
 								(unsigned long) shmid),
 						 errhint("Terminate any old server processes associated with data directory \"%s\".",
 								 DataDir)));
+				break;
 			case SHMSTATE_ENOENT:
 
 				/*
@@ -706,6 +707,7 @@ PGSharedMemoryCreate(Size size, int port,
 					dsm_cleanup_using_control_segment(oldhdr->dsm_control);
 				if (shmctl(shmid, IPC_RMID, NULL) < 0)
 					NextShmemSegID++;
+				break;
 		}
 
 		if (oldhdr && shmdt(oldhdr) < 0)