diff --git a/docs/AutomaticReferenceCounting.rst b/docs/AutomaticReferenceCounting.rst
index 385b51fb192229d07404322142f544925e5d139d..8993bc7b6b178c72821c177c0e7d9f66d559b851 100644
--- a/docs/AutomaticReferenceCounting.rst
+++ b/docs/AutomaticReferenceCounting.rst
@@ -2068,7 +2068,7 @@ adequately aligned for a pointer.  ``value`` is null or a pointer to a valid
 object.
 
 Performs the complete sequence for assigning to a ``__strong`` object of
-non-block type.  Equivalent to the following code:
+non-block type [*]_.  Equivalent to the following code:
 
 .. code-block:: objc
 
@@ -2082,6 +2082,11 @@ non-block type.  Equivalent to the following code:
 
 Always returns ``value``.
 
+.. [*] This does not imply that a ``__strong`` object of block type is an
+   invalid argument to this function. Rather it implies that an ``objc_retain``
+   and not an ``objc_retainBlock`` operation will be emitted if the argument is
+   a block.
+
 .. _arc.runtime.objc_storeWeak:
 
 ``id objc_storeWeak(id *object, id value);``