diff --git a/src/main/java/org/htmlunit/html/ScriptElementSupport.java b/src/main/java/org/htmlunit/html/ScriptElementSupport.java
index 29b9639952e..dde7087c9f4 100644
--- a/src/main/java/org/htmlunit/html/ScriptElementSupport.java
+++ b/src/main/java/org/htmlunit/html/ScriptElementSupport.java
@@ -120,8 +120,7 @@ public void execute() {
final AbstractJavaScriptEngine> engine = webClient.getJavaScriptEngine();
if (element.hasAttribute("async") && !engine.isScriptRunning()) {
- final HtmlPage owningPage = element.getHtmlPageOrNull();
- owningPage.addAfterLoadAction(action);
+ engine.addPostponedAction(action);
}
else if (element.hasAttribute("async")
|| postponed && StringUtils.isBlank(element.getTextContent())) {