diff --git a/common/env_onenand.c b/common/env_onenand.c
index 3c65b3e4873d3c7566fcc9b4b2a025a1e61ce08b..dbccc791258b7f0b054c5a26377387d2e0a14a9c 100644
--- a/common/env_onenand.c
+++ b/common/env_onenand.c
@@ -97,6 +97,7 @@ int saveenv(void)
 
 	instr.len = CONFIG_ENV_SIZE;
 	instr.addr = env_addr;
+	instr.mtd = &onenand_mtd;
 	if (onenand_erase(&onenand_mtd, &instr)) {
 		printf("OneNAND: erase failed at 0x%08lx\n", env_addr);
 		return 1;