diff --git a/src/dex_file.cc b/src/dex_file.cc
index 974f6e5..cb90e15 100644
--- a/src/dex_file.cc
+++ b/src/dex_file.cc
@@ -135,9 +135,16 @@
   }
   close(fd);
   const DexFile* dex_file = OpenMemory(location, map.release());
-  if (dex_file != NULL) {
-    DexFileVerifier::Verify(dex_file, dex_file->Begin(), dex_file->Size());
+  if (dex_file == NULL) {
+    LOG(ERROR) << "Failed to open dex file '" << location << "' from memory";
+    return NULL;
   }
+
+  if (!DexFileVerifier::Verify(dex_file, dex_file->Begin(), dex_file->Size())) {
+    LOG(ERROR) << "Failed to verify dex file '" << location << "'";
+    return NULL;
+  }
+
   return dex_file;
 }
 
@@ -183,9 +190,16 @@
   }
 
   const DexFile* dex_file = OpenMemory(location, map.release());
-  if (dex_file != NULL) {
-    DexFileVerifier::Verify(dex_file, dex_file->Begin(), dex_file->Size());
+  if (dex_file == NULL) {
+    LOG(ERROR) << "Failed to open dex file '" << location << "' from memory";
+    return NULL;
   }
+
+  if (!DexFileVerifier::Verify(dex_file, dex_file->Begin(), dex_file->Size())) {
+    LOG(ERROR) << "Failed to verify dex file '" << location << "'";
+    return NULL;
+  }
+
   return dex_file;
 }
 
