diff --git a/diff.c b/diff.c
index 648f6717a5..7b7d007aef 100644
--- a/diff.c
+++ b/diff.c
@@ -3874,7 +3874,7 @@ void fill_filespec(struct diff_filespec *spec, const struct object_id *oid,
int oid_valid, unsigned short mode)
{
if (mode) {
- spec->mode = canon_mode(mode);
+ spec->mode = mode;
oidcpy(&spec->oid, oid);
spec->oid_valid = oid_valid;
}