fix error handling path.
diff --git a/libkmod/libkmod-index.c b/libkmod/libkmod-index.c
index 7f0c092..f908d27 100644
--- a/libkmod/libkmod-index.c
+++ b/libkmod/libkmod-index.c
@@ -775,9 +775,9 @@
 
 fail:
 	close(fd);
-fail_open:
-	if (idx->mm)
+	if (idx->mm != MAP_FAILED)
 		munmap(idx->mm, st.st_size);
+fail_open:
 	free(idx);
 	return NULL;
 }