diff --git a/index.html b/index.html
index 7016956..2eeaf06 100644
--- a/index.html
+++ b/index.html
@@ -626,22 +626,18 @@
global task=] on the [=networking task source=] using |global| to [=reject=] |promise| with
an {{"InvalidStateError"}} {{DOMException}} and terminate these steps.
-
Let |sw| be |registration|'s [=service worker registration/active worker=].
-
Let |permission| be [=request permission to use=] "push".
If |permission| is {{PermissionState/"denied"}}, [=queue a global task=] on the [=user
interaction task source=] using |global| to [=reject=] |promise| with a
{{"NotAllowedError"}} {{DOMException}} and terminate these steps.
- If |sw| is already subscribed, run the following sub-steps:
+ If |registration| has a push subscription:
- - Try to retrieve the push subscription associated with the |sw|. If there is
- an error, [=queue a global task=] on the [=networking task source=] using |global| to
- [=reject=] |promise| with an {{"AbortError"}} {{DOMException}} and terminate these
- steps.
-
- - Let |subscription| be the push subscription associated with |sw|.
+
- Let |subscription| be the result of obtaining |registration|'s push
+ subscription. If there is an error, [=queue a global task=] on the [=networking
+ task source=] using |global| to [=reject=] |promise| with an {{"AbortError"}}
+ {{DOMException}} and terminate these steps.
- Compare the |options| argument with the `options` attribute of |subscription|. The
contents of {{BufferSource}} values are compared for equality rather than