diff --git a/src/p_spec.c b/src/p_spec.c
index 728bacab1e8863769f1f7d09b34de06b3e02e5b0..32e4f111c6881f21f370eb454ba8c31c07dc32de 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -6363,6 +6363,12 @@ void P_SpawnSpecials(boolean fromnetsave)
 		// Process Section 1
 		switch(GETSECSPECIAL(sector->special, 1))
 		{
+			case 5: // Spikes
+				//Terrible hack to replace an even worse hack:
+				//Spike damage automatically sets SF_TRIGGERSPECIAL_TOUCH.
+				//Yes, this also affects other specials on the same sector. Sorry.
+				sector->flags |= SF_TRIGGERSPECIAL_TOUCH;
+				break;
 			case 15: // Bouncy sector
 				CheckForBouncySector = true;
 				break;