diff --git a/lib/efi_selftest/efi_selftest_util.c b/lib/efi_selftest/efi_selftest_util.c
index c9c295e2fbe..5cffe383d8d 100644
--- a/lib/efi_selftest/efi_selftest_util.c
+++ b/lib/efi_selftest/efi_selftest_util.c
@@ -17,7 +17,7 @@ int efi_st_memcmp(const void *buf1, const void *buf2, size_t length)
 
 	for (; length; --length) {
 		if (*pos1 != *pos2)
-			return pos1 - pos2;
+			return *pos1 - *pos2;
 		++pos1;
 		++pos2;
 	}