diff --git a/CHANGELOG.md b/CHANGELOG.md
index 94452dddc..1e476da1d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
 - Compatibility with PhpStorm/IntelliJ 2025.* [#2495](https://github.com/magento/magento2-phpstorm-plugin/pull/2495)
 - "Copy Path/Reference" does not show the preview value [#2497](https://github.com/magento/magento2-phpstorm-plugin/pull/2497)
 - Must not start write action from within read action in the other thread [#2498](https://github.com/magento/magento2-phpstorm-plugin/pull/2498)
+- URN map generation during indexing [#2499](https://github.com/magento/magento2-phpstorm-plugin/pull/2499)
 
 ## 2025.0.0
 
diff --git a/src/main/java/com/magento/idea/magento2plugin/project/RegenerateUrnMapListener.java b/src/main/java/com/magento/idea/magento2plugin/project/RegenerateUrnMapListener.java
index 908067823..1772db65b 100644
--- a/src/main/java/com/magento/idea/magento2plugin/project/RegenerateUrnMapListener.java
+++ b/src/main/java/com/magento/idea/magento2plugin/project/RegenerateUrnMapListener.java
@@ -10,6 +10,7 @@
 import com.intellij.notification.NotificationGroupManager;
 import com.intellij.notification.NotificationType;
 import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.project.DumbService;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.psi.PsiDirectory;
@@ -46,17 +47,31 @@ public RegenerateUrnMapListener(final @NotNull Project project) {
      * @param event MouseEvent
      */
     @Override
+    @SuppressWarnings("PMD.UseNotifyAllInsteadOfNotify")
     public void mouseClicked(final MouseEvent event) {
-        final ExternalResourceManager manager =
-                ExternalResourceManager.getInstance();
-        final PsiManager psiManager = PsiManager.getInstance(project);
-        final MagentoComponentManager componentManager =
-                MagentoComponentManager.getInstance(project);
+        if (DumbService.getInstance(project).isDumb()) {
+            NotificationGroupManager.getInstance()
+                    .getNotificationGroup("Magento Notifications")
+                    .createNotification(
+                            "URN map generation unavailable",
+                            "Indexing is in progress."
+                                    + " Please wait for it to complete"
+                                    + " before running URN mapping generation.",
+                            NotificationType.WARNING
+                    )
+                    .notify(project);
+            return;
+        }
 
         ApplicationManager.getApplication().runWriteAction(
                 new Runnable() {
                     @Override
                     public void run() {
+                        final PsiManager psiManager = PsiManager.getInstance(project);
+                        final MagentoComponentManager componentManager =
+                                MagentoComponentManager.getInstance(project);
+                        final ExternalResourceManager manager =
+                                ExternalResourceManager.getInstance();
                         final Collection<VirtualFile> xsdFiles
                                 = FilenameIndex.getAllFilesByExt(project, "xsd");
                         final Collection<MagentoComponent> components