diff --git a/Devmapper.cpp b/Devmapper.cpp
index 74ed4fb..9dd8ef3 100644
--- a/Devmapper.cpp
+++ b/Devmapper.cpp
@@ -190,7 +190,9 @@
     ioctlInit(io, 4096, name, 0);
 
     if (ioctl(fd, DM_DEV_REMOVE, io)) {
-        LOGE("Error destroying device mapping (%s)", strerror(errno));
+        if (errno != ENXIO) {
+            LOGE("Error destroying device mapping (%s)", strerror(errno));
+        }
         free(buffer);
         close(fd);
         return -1;
diff --git a/VolumeManager.cpp b/VolumeManager.cpp
index 9bdc980..596590d 100644
--- a/VolumeManager.cpp
+++ b/VolumeManager.cpp
@@ -293,7 +293,7 @@
              "/sdcard/android_secure/%s.asec", id);
     snprintf(mountPoint, sizeof(mountPoint), "/asec/%s", id);
 
-    if (isMountpointMounted(mountPoint)) {
+    if (!isMountpointMounted(mountPoint)) {
         LOGE("Unmount request for ASEC %s when not mounted", id);
         errno = EINVAL;
         return -1;
@@ -343,10 +343,17 @@
              "/sdcard/android_secure/%s.asec", id);
     snprintf(mountPoint, sizeof(mountPoint), "/asec/%s", id);
 
-    if (unmountAsec(id))
-        return -1;
+    if (isMountpointMounted(mountPoint)) {
+        if (unmountAsec(id)) {
+            LOGE("Failed to unmount asec %s for destroy (%s)", id, strerror(errno));
+            return -1;
+        }
+    }
 
-    unlink(asecFileName);
+    if (unlink(asecFileName)) {
+        LOGE("Failed to unlink asec %s (%s)", id, strerror(errno));
+        return -1;
+    }
 
     LOGD("ASEC %s destroyed", id);
     return 0;
