diff --git a/src/p_spec.c b/src/p_spec.c
index 7e1230528b21a4e2a0164937aaa72e5f0c039577..c661cd4e505da8a034adef3856ba3774f7f7011b 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -3918,6 +3918,18 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
 			}
 			break;
 
+		case 460: // Award rings
+			{
+				INT16 rings = (sides[line->sidenum[0]].textureoffset>>FRACBITS);
+				INT32 delay = (sides[line->sidenum[0]].rowoffset>>FRACBITS);
+				if (mo && mo->player)
+				{
+					if (delay <= 0 || !(leveltime % delay))
+						P_GivePlayerRings(mo->player, rings);
+				}
+			}
+			break;
+
 #ifdef POLYOBJECTS
 		case 480: // Polyobj_DoorSlide
 		case 481: // Polyobj_DoorSwing