diff --git a/src/plugins/switch/elan/qsw.c b/src/plugins/switch/elan/qsw.c
index 72538b521c9c2e00cc386f3b2c5255a313dc26cd..9b726914971660cc6de35efbd7a20808e1ea1281 100644
--- a/src/plugins/switch/elan/qsw.c
+++ b/src/plugins/switch/elan/qsw.c
@@ -905,7 +905,8 @@ _qsw_shmem_create (qsw_jobinfo_t jobinfo, uid_t uid)
 	if (pgsize < 8192)
 		pgsize = 8192;
 
-	if ((shmid = shmget (key, pgsize * (maxLocal + 1), IPC_CREAT)) < 0)
+	if ((shmid = shmget (key, pgsize * (maxLocal + 1), IPC_CREAT|IPC_EXCL))
+	    < 0)
 		return (error ("Failed to create Elan state shmem: %m"));
 
 	/* Ensure permissions on segment allow user read/write access