diff --git a/src/p_enemy.c b/src/p_enemy.c
index 8088c20a8a66f1ad2f3b1611c6d8ed7ebd355d6e..6fee7d2f0c1f67ea5b7cc192d5a054d71500a89f 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -3324,6 +3324,11 @@ void A_MonitorPop(mobj_t *actor)
 			newmobj->sprite = SPR_TV1P;
 		}
 	}
+
+	// Run a linedef executor immediately upon popping
+	// You may want to delay your effects by 18 tics to sync with the reward giving
+	if (actor->spawnpoint && actor->lastlook)
+		P_LinedefExecute(actor->lastlook, actor->target, NULL);
 }
 
 // Function: A_GoldMonitorPop
@@ -3407,6 +3412,11 @@ void A_GoldMonitorPop(mobj_t *actor)
 			newmobj->sprite = SPR_TV1P;
 		}
 	}
+
+	// Run a linedef executor immediately upon popping
+	// You may want to delay your effects by 18 tics to sync with the reward giving
+	if (actor->spawnpoint && actor->lastlook)
+		P_LinedefExecute(actor->lastlook, actor->target, NULL);
 }
 
 // Function: A_GoldMonitorRestore
diff --git a/src/p_mobj.c b/src/p_mobj.c
index 55cb9c325bbfe19330c54130a150ba8fb5b0c27c..9189f50f7c46c99e6a22aaf4be76204d83c34dc5 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -10895,6 +10895,16 @@ ML_EFFECT4 : Don't clip inside the ground
 		mobj->flags2 |= MF2_OBJECTFLIP;
 	}
 
+	// Extra functionality
+	if (mthing->options & MTF_EXTRA)
+	{
+		if (mobj->flags & MF_MONITOR && (mthing->angle & 16384))
+		{
+			// Store line exec tag to run upon popping
+			mobj->lastlook = (mthing->angle & 16383);
+		}
+	}
+
 	// Final set of not being able to draw nightsitems.
 	if (mobj->flags & MF_NIGHTSITEM)
 		mobj->flags2 |= MF2_DONTDRAW;