diff --git a/twinstall.cpp b/twinstall.cpp
index d95efed..4247cf7 100644
--- a/twinstall.cpp
+++ b/twinstall.cpp
@@ -260,14 +260,10 @@
 	gui_print("Installing '%s'...\nChecking for MD5 file...\n", path);
 	md5sum.setfn(strpath);
 	md5_return = md5sum.verify_md5digest();
-	if (md5_return == -2) {
-		// MD5 did not match.
-		LOGERR("Zip MD5 does not match.\nUnable to install zip.\n");
+	if (md5_return == -2) { // md5 did not match
+		LOGERR("Aborting zip install\n");
 		return INSTALL_CORRUPT;
-	} else if (md5_return == -1) {
-		gui_print("Skipping MD5 check: no MD5 file found.\n");
-	} else if (md5_return == 0)
-		gui_print("Zip MD5 matched.\n"); // MD5 found and matched.
+	}
 
 #ifndef TW_OEM_BUILD
 	DataManager::GetValue(TW_SIGNED_ZIP_VERIFY_VAR, zip_verify);
diff --git a/twrpDigest.cpp b/twrpDigest.cpp
index 6726df3..0693c55 100644
--- a/twrpDigest.cpp
+++ b/twrpDigest.cpp
@@ -19,6 +19,7 @@
 extern "C"
 {
 	#include "digest/md5.h"
+	#include "gui/gui.h"
 	#include "libcrecovery/common.h"
 }
 
@@ -100,21 +101,32 @@
 	}
 
 	if (!foundMd5File) {
+		gui_print("Skipping MD5 check: no MD5 file found\n");
 		return -1;
 	} else if (TWFunc::read_file(md5file, line) != 0) {
-		LOGERR("Could not read %s\n", md5file.c_str());
+		gui_print("Skipping MD5 check: MD5 file unreadable\n");
+		return 1;
 	}
 
 	return 0;
 }
 
+/* verify_md5digest return codes:
+	-2: md5 did not match
+	-1: no md5 file found
+	 0: md5 matches
+	 1: md5 file unreadable
+*/
+
 int twrpDigest::verify_md5digest(void) {
 	string buf;
 	char hex[3];
-	int i;
+	int i, ret;
 	string md5string;
-	if (read_md5digest() != 0)
-		return -1;
+
+	ret = read_md5digest();
+	if (ret != 0)
+		return ret;
 	stringstream ss(line);
 	vector<string> tokens;
 	while (ss >> buf)
@@ -124,7 +136,11 @@
 		snprintf(hex, 3, "%02x", md5sum[i]);
 		md5string += hex;
 	}
-	if (tokens.at(0) != md5string)
+	if (tokens.at(0) != md5string) {
+		LOGERR("MD5 does not match\n");
 		return -2;
+	}
+
+	gui_print("MD5 matched\n");
 	return 0;
 }
