diff --git a/src/p_enemy.cpp b/src/p_enemy.cpp
index 55787c650..5cb1ce673 100644
--- a/src/p_enemy.cpp
+++ b/src/p_enemy.cpp
@@ -2008,6 +2008,17 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_LookEx)
 
 // [KS] *** End additions by me ***
 
+//==========================================================================
+//
+// A_ClearLastHeard
+//
+//==========================================================================
+
+DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_ClearLastHeard)
+{
+	self->LastHeard = NULL;
+}
+
 //==========================================================================
 //
 // A_Wander
diff --git a/wadsrc/static/actors/actor.txt b/wadsrc/static/actors/actor.txt
index 1bc7f53a9..f48aeacc8 100644
--- a/wadsrc/static/actors/actor.txt
+++ b/wadsrc/static/actors/actor.txt
@@ -260,6 +260,7 @@ ACTOR Actor native //: Thinker
 	action native A_QueueCorpse();
 	action native A_DeQueueCorpse();
 	action native A_LookEx(int flags = 0, float minseedist = 0, float maxseedist = 0, float maxheardist = 0, float fov = 0, state label = "");
+	action native A_ClearLastHeard();
 	action native A_ClearTarget();
 	action native A_JumpIfTargetInLOS (state label, float fov = 0, int flags = 0, float dist_max = 0, float dist_close = 0);
 	action native A_JumpIfInTargetLOS (state label, float fov = 0, int flags = 0, float dist_max = 0, float dist_close = 0);