diff --git a/zeromem.c b/zeromem.c
index 15181ac5056f43047d8b879bf21135fdb7cf6af1..9b262151e6f82eb427cfb2e6925db044ce7a5f68 100644
--- a/zeromem.c
+++ b/zeromem.c
@@ -12,7 +12,7 @@
 
 void zeromem(void *dst, size_t len)
 {
- unsigned char *mem = (unsigned char *)dst;
+ volatile unsigned char *mem = (unsigned char *)dst;
  _ARGCHK(dst != NULL);
  while (len-- > 0)
     *mem++ = 0;