diff --git a/src/p_saveg.c b/src/p_saveg.c
index 68d00a42c1e3621e96530a2eae2443a1500b3212..137b4ffd03bbd1ffd1382d2d18f41be7c33f5635 100644
--- a/src/p_saveg.c
+++ b/src/p_saveg.c
@@ -877,6 +877,7 @@ static void P_NetUnArchiveWorld(void)
 		if (diff3 & SD_COLORMAP)
 		{
 			extracolormap_t *exc;
+			size_t dbg_i = 0;
 
 			UINT8 fadestart = READUINT8(get),
 				fadeend = READUINT8(get),
@@ -920,8 +921,33 @@ static void P_NetUnArchiveWorld(void)
 					break;
 			}
 
+			for (exc = extra_colormaps; exc; exc = exc->next)
+			{
+#ifdef EXTRACOLORMAPLUMPS
+				if (exc->lump != LUMPERROR)
+				{
+					dbg_i++;
+					continue;
+				}
+#endif
+				if (cr == exc->cr && cg == exc->cg && cb == exc->cb && ca == exc->ca
+					&& cfr == exc->cfr && cfg == exc->cfg && cfb == exc->cfb && cfa == exc->cfa
+					&& fadestart == exc->fadestart
+					&& fadeend == exc->fadeend
+					&& fog == exc->fog)
+				{
+					CONS_Debug(DBG_RENDER, "P_NetUnArchiveWorld: Found map %d: rgba(%d,%d,%d,%d) fadergba(%d,%d,%d,%d)\n",
+						dbg_i, cr, cg, cb, ca, cfr, cfg, cfb, cfa);
+					break;
+				}
+				dbg_i++;
+			}
+
 			if (!exc)
 			{
+				CONS_Debug(DBG_RENDER, "P_NetUnArchiveWorld: Creating map %d: rgba(%d,%d,%d,%d) fadergba(%d,%d,%d,%d)\n",
+					dbg_i, cr, cg, cb, ca, cfr, cfg, cfb, cfa);
+
 				exc = Z_Calloc(sizeof (*exc), PU_LEVEL, NULL);
 
 				exc->fadestart = fadestart;
diff --git a/src/r_data.c b/src/r_data.c
index 32cf17fa9a42c1f0ea9a611ce5c22d825d26e132..e51eb32e9ad2d553b45eaa3b72b1c0e750ad0d75 100644
--- a/src/r_data.c
+++ b/src/r_data.c
@@ -1552,6 +1552,8 @@ extracolormap_t *R_CreateColormap(char *p1, char *p2, char *p3)
 
 	INT32 rgba, fadergba;
 
+	size_t dbg_i = 0;
+
 #define HEX2INT(x) (UINT32)(x >= '0' && x <= '9' ? x - '0' : x >= 'a' && x <= 'f' ? x - 'a' + 10 : x >= 'A' && x <= 'F' ? x - 'A' + 10 : 0)
 #define ALPHA2INT(x) (x >= 'a' && x <= 'z' ? x - 'a' : x >= 'A' && x <= 'Z' ? x - 'A' : x >= '0' && x <= '9' ? 25 : 0)
 	if (p1[0] == '#')
@@ -1635,16 +1637,27 @@ extracolormap_t *R_CreateColormap(char *p1, char *p2, char *p3)
 	{
 #ifdef EXTRACOLORMAPLUMPS
 		if (exc->lump != LUMPERROR)
+		{
+			dbg_i++;
 			continue;
+		}
 #endif
 		if (cr == exc->cr && cg == exc->cg && cb == exc->cb && ca == exc->ca
 			&& cfr == exc->cfr && cfg == exc->cfg && cfb == exc->cfb && cfa == exc->cfa
 			&& fadestart == exc->fadestart
 			&& fadeend == exc->fadeend
 			&& fog == exc->fog)
-			break;
+		{
+			CONS_Debug(DBG_RENDER, "R_CreateColormap: Found map %d: rgba(%d,%d,%d,%d) fadergba(%d,%d,%d,%d)\n",
+				dbg_i, cr, cg, cb, ca, cfr, cfg, cfb, cfa);
+			return exc;
+		}
+		dbg_i++;
 	}
 
+	CONS_Debug(DBG_RENDER, "R_CreateColormap: Creating map %d: rgba(%d,%d,%d,%d) fadergba(%d,%d,%d,%d)\n",
+		dbg_i, cr, cg, cb, ca, cfr, cfg, cfb, cfa);
+
 	extra_colormap = Z_Calloc(sizeof (*extra_colormap), PU_LEVEL, NULL);
 
 	extra_colormap->fadestart = (UINT16)fadestart;