diff --git a/src/com/mirantis/mk/Ceph.groovy b/src/com/mirantis/mk/Ceph.groovy
index 0e1c5e5..bb837b2 100644
--- a/src/com/mirantis/mk/Ceph.groovy
+++ b/src/com/mirantis/mk/Ceph.groovy
@@ -73,20 +73,20 @@
     }
     if (partition?.trim()) {
         if (partition.contains("nvme")) {
-            // dev = /dev/nvme1n1p1
-            def dev = partition.replaceAll('\\d+$', "")
-            print("Skipping " + dev)
+            // partition = /dev/nvme1n1p2
+            // dev = /dev/nvme1n1
+            def dev = partition.replaceAll('p\\d+$', "")
             // part_id = 2
             def part_id = partition.substring(partition.lastIndexOf("p") + 1).replaceAll("[^0-9]+", "")
-            print("Skipping" + part_id)
-            salt.cmdRun(master, target, "Ignore | parted ${dev} rm ${part_id}")
+
         } else {
+            // partition = /dev/sdi2
             // dev = /dev/sdi
             def dev = partition.replaceAll('\\d+$', "")
             // part_id = 2
             def part_id = partition.substring(partition.lastIndexOf("/") + 1).replaceAll("[^0-9]+", "")
-            salt.cmdRun(master, target, "Ignore | parted ${dev} rm ${part_id}")
         }
+        salt.cmdRun(master, target, "Ignore | parted ${dev} rm ${part_id}")
     }
     return
 }
