diff --git a/src/mpsd_software_manager/mpsd_software.py b/src/mpsd_software_manager/mpsd_software.py
index 56893967da39d631042d5de74da8b41e059aa8a0..e8e5b4ca0578795254f5d73e764c29c67ddac7f2 100755
--- a/src/mpsd_software_manager/mpsd_software.py
+++ b/src/mpsd_software_manager/mpsd_software.py
@@ -1085,18 +1085,20 @@ def remove_environment(mpsd_release, root_dir, package_sets="NONE", force_remove
         sys.exit(1)
     if "ALL" in package_sets:
         # we need to remove the entire release folder
-        logging.warning(
-            f"Removing release {mpsd_release} from {root_dir}"
-            "do you want to continue? [y/n]"
-        )
-        if force_remove or input().lower() == "y":
-            folders_to_remove = os.listdir(root_dir / mpsd_release)
+        logging.warning(f"Removing release {mpsd_release} from {root_dir}")
+        if not force_remove:
+            logging.warning("do you want to continue? [y/n]")
+            if input().lower() == "y":
+                force_remove = True
+        if force_remove:
+            dir_to_remove = root_dir / mpsd_release / get_native_microarchitecture()
+            folders_to_remove = os.listdir(dir_to_remove)
             # skip logs folder
             if "logs" in folders_to_remove:
                 folders_to_remove.remove("logs")
             for folder in folders_to_remove:
-                shutil.rmtree(root_dir / mpsd_release / folder)
-                sys.exit(0)
+                shutil.rmtree(dir_to_remove / folder)
+            return
     for package_set in package_sets:
         # we load the spack environment and remove the package_set
         spack_env = ""