diff --git a/doc/efun/call_direct_strict b/doc/efun/call_direct_strict
new file mode 100644
index 0000000..f9f319c
--- /dev/null
+++ b/doc/efun/call_direct_strict
@@ -0,0 +1,34 @@
+SYNOPSIS
+        unknown call_direct_strict(object|string ob, string func, ...)
+        unknown call_direct_strict(object*|string* ob, string func, ...)
+
+DESCRIPTION
+        Similar to call_other(). Call a member function <fun> in another
+        object <ob> if the function is defined and publicly accessible.
+        Any of the optional extra arguments are passed to the function.
+        Result is the value returned from the called function.
+
+        This efun is a twin to call_strict(), with the difference
+        being that call_direct_strict() never calls a default method.
+
+        Thus if ob::fun does not define a publicly accessible function,
+        the efun will raise a runtime error.
+
+        ob can also be an object_name. If a string is passed for ob
+        and an object with that name can't be found or loaded, an
+        error occurs.
+
+        Additionally the efun accepts an array of objects as <ob>: the
+        function is called with the same arguments in all the given objects.
+        The single results are collected in an array and yield the final
+        result. Array elements can be objects or the names of existing
+        objects. If a call to any of the objects failes, the efun will
+        raise a runtime error.
+
+HISTORY
+        Introduced in LDMud 3.6.2.
+
+SEE ALSO
+        call_other(E), call_resolved(E), call_direct(E), call_strict(E),
+        call_direct_resolved(E), create(A), pragma(LPC), extern_call(E),
+        function_exists(E), functions(LPC), map_objects(E)
