echo ""
 }
 
+function unmount_device() {
+       grep -q $DEVICE /proc/mounts
+       if [ $? -eq 0 ]; then
+               echo -n "$DEVICE listed in /proc/mounts, attempting to unmount..."
+               umount $DEVICE* 2>/dev/null
+               grep -q $DEVICE /proc/mounts
+               if [ $? -eq 0 ]; then
+                       echo "FAILED"
+                       exit 1
+               fi
+               echo "OK"
+       fi
+}
+
 
 #
 # Parse and validate arguments
 #
 # Check if any $DEVICE partitions are mounted
 #
-grep -q $DEVICE /proc/mounts
-if [ $? -eq 0 ]; then
-       echo -n "$DEVICE listed in /proc/mounts, attempting to unmount..."
-       umount $DEVICE* 2>/dev/null
-       grep -q $DEVICE /proc/mounts
-       if [ $? -eq 0 ]; then
-               echo "FAILED"
-               exit 1
-       fi
-       echo "OK"
-fi
+unmount_device
 
 
 #
 parted $DEVICE print
 
 
+#
+# Check if any $DEVICE partitions are mounted after partitioning
+#
+unmount_device
+
+
 #
 # Format $DEVICE partitions
 #