diff --git a/tsk/vs/mm_open.c b/tsk/vs/mm_open.c
index d6b34793393eb9de876ae52b3f8b49a402234497..45087bc8db701f903c9049cd80849f4bfe8bcef5 100644
--- a/tsk/vs/mm_open.c
+++ b/tsk/vs/mm_open.c
@@ -58,31 +58,32 @@ tsk_vs_open(TSK_IMG_INFO * img_info, TSK_DADDR_T offset,
      * will not be reported
      */
     if (type == TSK_VS_TYPE_DETECT) {
-        TSK_VS_INFO *vs, *vs_set = NULL;
-        char *set = NULL;
+        TSK_VS_INFO *vs, *prev_vs = NULL;
+        char *prev_type = NULL;
 
         if ((vs = tsk_vs_dos_open(img_info, offset, 1)) != NULL) {
-            set = "DOS";
-            vs_set = vs;
+            prev_type = "DOS";
+            prev_vs = vs;
         }
         else {
             tsk_error_reset();
         }
+        
         if ((vs = tsk_vs_bsd_open(img_info, offset)) != NULL) {
-            // if (set == NULL) {
+            // if (prev_type == NULL) {
             // In this case, BSD takes priority because BSD partitions start off with
             // the DOS magic value in the first sector with the boot code.
-            set = "BSD";
-            vs_set = vs;
+            prev_type = "BSD";
+            prev_vs = vs;
             /*
                }
                else {
-               vs_set->close(vs_set);
+               prev_vs->close(prev_vs);
                vs->close(vs);
                tsk_error_reset();
                tsk_error_set_errno(TSK_ERR_VS_UNKTYPE);
                tsk_error_set_errstr(
-               "BSD or %s at %" PRIuDADDR, set, offset);
+               "BSD or %s at %" PRIuDADDR, prev_type, offset);
                tsk_errstr2[0] = '\0';
                return NULL;
                }
@@ -91,24 +92,26 @@ tsk_vs_open(TSK_IMG_INFO * img_info, TSK_DADDR_T offset,
         else {
             tsk_error_reset();
         }
+        
         if ((vs = tsk_vs_gpt_open(img_info, offset)) != NULL) {
 
-            if ((set != NULL) && (strcmp(set, "DOS") == 0) && (vs->is_backup)) {
+            if ((prev_type != NULL) && (strcmp(prev_type, "DOS") == 0) && (vs->is_backup)) {
                 /* In this case we've found a DOS partition and a backup GPT partition.
-                 * The DOS partition takes priority in this case (and are already in set and vs_set) */
+                 * The DOS partition takes priority in this case (and are already in prev_type and prev_vs) */
                 vs->close(vs);
                 if (tsk_verbose)
                     tsk_fprintf(stderr,
                         "mm_open: Ignoring secondary GPT Partition\n");
             }
             else {
-                if (set != NULL) {
+                if (prev_type != NULL) {
 
                     /* GPT drives have a DOS Safety partition table.
-                     * Test to see if we can ignore one */
-                    if (strcmp(set, "DOS") == 0) {
+                     * Test to see if the GPT has a safety partiiton
+                     * and then we can igore the DOS */
+                    if (strcmp(prev_type, "DOS") == 0) {
                         TSK_VS_PART_INFO *tmp_set;
-                        for (tmp_set = vs_set->part_list; tmp_set;
+                        for (tmp_set = prev_vs->part_list; tmp_set;
                             tmp_set = tmp_set->next) {
                             if ((tmp_set->desc)
                                 && (strncmp(tmp_set->desc, "GPT Safety",
@@ -118,25 +121,26 @@ tsk_vs_open(TSK_IMG_INFO * img_info, TSK_DADDR_T offset,
                                 if (tsk_verbose)
                                     tsk_fprintf(stderr,
                                         "mm_open: Ignoring DOS Safety GPT Partition\n");
-                                set = NULL;
-                                vs_set = NULL;
+                                prev_type = NULL;
+                                prev_vs = NULL;
                                 break;
                             }
                         }
                     }
 
-                    if (set != NULL) {
-                        vs_set->close(vs_set);
+                    /* If we never found the safety, then we have a conflict. */
+                    if (prev_type != NULL) {
+                        prev_vs->close(prev_vs);
                         vs->close(vs);
                         tsk_error_reset();
                         tsk_error_set_errno(TSK_ERR_VS_MULTTYPE);
-                        tsk_error_set_errstr("GPT or %s at %" PRIuDADDR, set,
+                        tsk_error_set_errstr("GPT or %s at %" PRIuDADDR, prev_type,
                             offset);
                         return NULL;
                     }
                 }
-                set = "GPT";
-                vs_set = vs;
+                prev_type = "GPT";
+                prev_vs = vs;
             }
         }
         else {
@@ -144,16 +148,16 @@ tsk_vs_open(TSK_IMG_INFO * img_info, TSK_DADDR_T offset,
         }
 
         if ((vs = tsk_vs_sun_open(img_info, offset)) != NULL) {
-            if (set == NULL) {
-                set = "Sun";
-                vs_set = vs;
+            if (prev_type == NULL) {
+                prev_type = "Sun";
+                prev_vs = vs;
             }
             else {
-                vs_set->close(vs_set);
+                prev_vs->close(prev_vs);
                 vs->close(vs);
                 tsk_error_reset();
                 tsk_error_set_errno(TSK_ERR_VS_MULTTYPE);
-                tsk_error_set_errstr("Sun or %s at %" PRIuDADDR, set,
+                tsk_error_set_errstr("Sun or %s at %" PRIuDADDR, prev_type,
                     offset);
                 return NULL;
             }
@@ -163,16 +167,16 @@ tsk_vs_open(TSK_IMG_INFO * img_info, TSK_DADDR_T offset,
         }
 
         if ((vs = tsk_vs_mac_open(img_info, offset)) != NULL) {
-            if (set == NULL) {
-                set = "Mac";
-                vs_set = vs;
+            if (prev_type == NULL) {
+                prev_type = "Mac";
+                prev_vs = vs;
             }
             else {
-                vs_set->close(vs_set);
+                prev_vs->close(prev_vs);
                 vs->close(vs);
                 tsk_error_reset();
                 tsk_error_set_errno(TSK_ERR_VS_MULTTYPE);
-                tsk_error_set_errstr("Mac or %s at %" PRIuDADDR, set,
+                tsk_error_set_errstr("Mac or %s at %" PRIuDADDR, prev_type,
                     offset);
                 return NULL;
             }
@@ -181,7 +185,7 @@ tsk_vs_open(TSK_IMG_INFO * img_info, TSK_DADDR_T offset,
             tsk_error_reset();
         }
 
-        if (vs_set == NULL) {
+        if (prev_vs == NULL) {
             tsk_error_reset();
 
             // Check whether the volume system appears to be encrypted.
@@ -202,8 +206,10 @@ tsk_vs_open(TSK_IMG_INFO * img_info, TSK_DADDR_T offset,
             return NULL;
         }
 
-        return vs_set;
+        return prev_vs;
     }
+    
+    // Not autodetect
     else {
 
         switch (type) {