diff --git a/src/cfgparse-global.c b/src/cfgparse-global.c
index 28c6ce0..acb62a6 100644
--- a/src/cfgparse-global.c
+++ b/src/cfgparse-global.c
@@ -1065,22 +1065,34 @@
 				}
 			}
 		} else {
-			/* Mapping at the thread level. All threads are retained
-			 * for process 1, and only thread 1 is retained for other
-			 * processes.
+			/* Mapping at the thread level.
+			 * Either proc and/or thread must be 1 and only 1. All
+			 * other combinations are silently ignored.
 			 */
 			if (thread == 0x1) {
+				int val;
+
 				/* first thread, iterate on processes. E.g. cpu-map 1-4/1 0-3 */
 				for (i = n = 0; i < MAX_PROCS; i++) {
 					/* No mapping for this process */
 					if (!(proc & (1UL << i)))
 						continue;
-					if (!autoinc)
-						global.cpu_map.proc_t1[i] = cpus;
+
+					if (!autoinc) {
+						val = cpus;
+					}
 					else {
 						n += my_ffsl(cpus >> n);
-						global.cpu_map.proc_t1[i] = (1UL << (n-1));
+						val = 1UL << (n - 1);
 					}
+
+					/* For first process, thread[0] is used.
+					 * Use proc_t1[N] for all others
+					 */
+					if (!i)
+						global.cpu_map.thread[0] = val;
+					else
+						global.cpu_map.proc_t1[i] = val;
 				}
 			}
 
diff --git a/src/haproxy.c b/src/haproxy.c
index b9aa639..21c29e8 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -3519,8 +3519,11 @@
 
 #ifdef USE_CPU_AFFINITY
 		/* Now the CPU affinity for all threads */
-		if (global.cpu_map.proc_t1[relative_pid-1])
-			global.cpu_map.thread[0] &= global.cpu_map.proc_t1[relative_pid-1];
+
+		/* If on multiprocess, use proc_t1 except for the first process.
+		 */
+		if ((relative_pid - 1) > 0)
+			global.cpu_map.thread[0] = global.cpu_map.proc_t1[relative_pid-1];
 
 		for (i = 0; i < global.nbthread; i++) {
 			if (global.cpu_map.proc[relative_pid-1])
