diff --git a/src/m_anigif.c b/src/m_anigif.c
index aec53b874f5fdbb4805f957c2fd2164b47c64f82..91f70dcfe0f6c2399825bb060c9f6e7fe8919fd5 100644
--- a/src/m_anigif.c
+++ b/src/m_anigif.c
@@ -432,8 +432,11 @@ static void GIF_headwrite(void)
 
 	// write color table
 	{
-		RGBA_t *pal = ((cv_screenshot_colorprofile.value)
-		? pLocalPalette
+		RGBA_t *pal = ((cv_screenshot_colorprofile.value
+#ifdef HWRENDER
+		&& (rendermode == render_soft)
+#endif
+		) ? pLocalPalette
 		: pMasterPalette);
 
 		for (i = 0; i < 256; i++)