diff --git a/app/assets/javascripts/discourse/app/components/modal/delete-topic-disallowed.hbs b/app/assets/javascripts/discourse/app/components/modal/delete-topic-disallowed.hbs
new file mode 100644
index 00000000000..7d469645167
--- /dev/null
+++ b/app/assets/javascripts/discourse/app/components/modal/delete-topic-disallowed.hbs
@@ -0,0 +1,8 @@
+<DModal @closeModal={{@closeModal}}>
+  <:body>
+    <p>{{html-safe (i18n "post.controls.delete_topic_disallowed_modal")}}</p>
+  </:body>
+  <:footer>
+    <DButton @action={{@closeModal}} class="btn-primary" @label="close" />
+  </:footer>
+</DModal>
\ No newline at end of file
diff --git a/app/assets/javascripts/discourse/app/services/modal.js b/app/assets/javascripts/discourse/app/services/modal.js
index 44e9fee420d..d84030ad5d4 100644
--- a/app/assets/javascripts/discourse/app/services/modal.js
+++ b/app/assets/javascripts/discourse/app/services/modal.js
@@ -24,7 +24,6 @@ const KNOWN_LEGACY_MODALS = [
   "create-account",
   "create-invite-bulk",
   "create-invite",
-  "delete-topic-disallowed",
   "download-calendar",
   "edit-slow-mode",
   "edit-topic-timer",
diff --git a/app/assets/javascripts/discourse/app/templates/modal/delete-topic-disallowed.hbs b/app/assets/javascripts/discourse/app/templates/modal/delete-topic-disallowed.hbs
deleted file mode 100644
index e207bbaf8fa..00000000000
--- a/app/assets/javascripts/discourse/app/templates/modal/delete-topic-disallowed.hbs
+++ /dev/null
@@ -1,10 +0,0 @@
-<DModalBody>
-  <p>{{html-safe (i18n "post.controls.delete_topic_disallowed_modal")}}</p>
-</DModalBody>
-<div class="modal-footer">
-  <DButton
-    @action={{route-action "closeModal"}}
-    @class="btn-primary"
-    @label="close"
-  />
-</div>
\ No newline at end of file
diff --git a/app/assets/javascripts/discourse/app/widgets/post-menu.js b/app/assets/javascripts/discourse/app/widgets/post-menu.js
index e4bdb469f26..48d2da21cae 100644
--- a/app/assets/javascripts/discourse/app/widgets/post-menu.js
+++ b/app/assets/javascripts/discourse/app/widgets/post-menu.js
@@ -4,7 +4,6 @@ import discourseLater from "discourse-common/lib/later";
 import { Promise } from "rsvp";
 import { formattedReminderTime } from "discourse/lib/bookmark";
 import { h } from "virtual-dom";
-import showModal from "discourse/lib/show-modal";
 import { smallUserAtts } from "discourse/widgets/actions-summary";
 import I18n from "I18n";
 import {
@@ -12,6 +11,7 @@ import {
   WITH_REMINDER_ICON,
 } from "discourse/models/bookmark";
 import { isTesting } from "discourse-common/config/environment";
+import DeleteTopicDisallowedModal from "discourse/components/modal/delete-topic-disallowed";
 
 const LIKE_ACTION = 2;
 const VIBRATE_DURATION = 5;
@@ -447,6 +447,7 @@ function replaceButton(buttons, find, replace) {
 
 export default createWidget("post-menu", {
   tagName: "section.post-menu-area.clearfix",
+  services: ["modal"],
 
   settings: {
     collapseButtons: true,
@@ -712,7 +713,7 @@ export default createWidget("post-menu", {
   },
 
   showDeleteTopicModal() {
-    showModal("delete-topic-disallowed");
+    this.modal.show(DeleteTopicDisallowedModal);
   },
 
   showMoreActions() {