diff --git a/index.bs b/index.bs
index 042bc54a..a3a6d88e 100644
--- a/index.bs
+++ b/index.bs
@@ -11880,8 +11880,8 @@ in which case they are exposed on every object that [=implements=] the interface
1. Let |steps| be the following series of steps:
1. Try running the following steps:
- 1. Let |idlObject| be null.
- 1. If |target| is an [=interface=], and |attribute| is a [=regular attribute=]:
+ 1. If |target| is an [=interface=], and |attribute| is a [=regular attribute=],
+ let |R| initially be undefined and execute the following steps:
1. Let |esValue| be the this value, if it is not
null or undefined, or |realm|'s
[=Realm/global object=] otherwise.
@@ -11897,10 +11897,18 @@ in which case they are exposed on every object that [=implements=] the interface
1. Otherwise, [=ECMAScript/throw=] a {{ECMAScript/TypeError}}.
1. If |attribute|'s type is an [=observable array type=], then return |esValue|'s
[=backing observable array exotic object=] for |attribute|.
- 1. Set |idlObject| to the IDL [=interface type=] value that represents a reference
+ 1. Let |idlObject| be the IDL [=interface type=] value that represents a reference
to |esValue|.
- 1. Let |R| be the result of running the [=getter steps=] of |attribute| with
- |idlObject| as [=this=].
+ 1. Set |R| to the result of running the [=getter steps=] of |attribute| with
+ |idlObject| as [=this=].
+
+ Otherwise, let |R| be the result of running the [=getter steps=] of |attribute| with
+ null as [=this=].
+
+ Note: [=Namespaces=] and [=interface=] objects (themselves,
+ rather than their instances) are not intended to carry state,
+ so their attribute getters intentionally do not get access to them.
+
1. Return the result of [=converted to an ECMAScript value|converting=] |R| to an
ECMAScript value of the type |attribute| is declared as.