diff --git a/doc/master/heart_beat_error b/doc/master/heart_beat_error
index d4d15f2..11985b8 100644
--- a/doc/master/heart_beat_error
+++ b/doc/master/heart_beat_error
@@ -1,24 +1,30 @@
 SYNOPSIS
-	mixed heart_beat_error(object culprit, string err, string prg,
-			       string curobj, int line)
+        mixed heart_beat_error(object culprit, string err, string prg,
+                               string curobj, int line, int caught)
 
 DESCRIPTION
-	This function is called when a runtime error occurs while
-	executing the heart_beat() function of the object culprit. prg
-	is program where the actual error happened, in object curobj
-	at the given line.
+        This function is called when a runtime error occurs while
+        executing the heart_beat() function of the object culprit. prg
+        is program where the actual error happened, in object curobj
+        at the given line.
 
-	At time of call, the heart_beat has been turned off.
-	Return anything != 0 to restart the heart_beat in culprit.
+        At time of call, the heart_beat has been turned off.
+        Return anything != 0 to restart the heart_beat in culprit.
 
-	If culprit is a user, it should at least get the message ``You
-	have no heartbeat''. A more advanced handling would destruct
-	the offending object curobj and and allow the heartbeat to
-	restart.
+        If culprit is a user, it should at least get the message "You
+        have no heartbeat". A more advanced handling would destruct
+        the offending object curobj and and allow the heartbeat to
+        restart.
 
-	Note that prg denotes the program actually executed (which
-	might be an inherited one) whereas curobj is just the
-	offending object.
+        If the error is caught on a higher level, <caught> is non-zero;
+        otherwise it is 0.
+
+        Note that prg denotes the program actually executed (which
+        might be an inherited one) whereas curobj is just the
+        offending object.
+
+HISTORY
+        LDMud 3.2.12/3.3.705 added the <caught> argument.
 
 SEE ALSO
-	set_heart_beat(E), heart_beat(A), runtime_error(M)
+        set_heart_beat(E), heart_beat(A), runtime_error(M)
