diff --git a/common/cmd_ubi.c b/common/cmd_ubi.c
index 02a2e55b50264239083250e666098f50631869b0..64a730724c6e9cd3af24885bf9dfa33032b10e99 100644
--- a/common/cmd_ubi.c
+++ b/common/cmd_ubi.c
@@ -327,7 +327,7 @@ static int ubi_volume_read(char *volume, char *buf, size_t size)
 	}
 	if (i == ubi->vtbl_slots) {
 		printf("%s volume not found\n", volume);
-		return 0;
+		return -ENODEV;
 	}
 
 	printf("read %i bytes from volume %d to %x(buf address)\n",