diff --git a/diffcore-pickaxe.c b/diffcore-pickaxe.c
index c3760cfefd..0835a3be8d 100644
--- a/diffcore-pickaxe.c
+++ b/diffcore-pickaxe.c
@@ -152,10 +152,10 @@ static unsigned int contains(struct diff_filespec *one,
 	unsigned int cnt;
 	unsigned long sz;
 	const char *data;
-	if (diff_populate_filespec(one, 0))
-		return 0;
 	if (!len)
 		return 0;
+	if (diff_populate_filespec(one, 0))
+		return 0;
 
 	sz = one->size;
 	data = one->data;