diff --git a/mongoose.c b/mongoose.c
index cd1e5c72036535e752e468dbe778bbd2db16f874..5fcbd55b810191b53adb2fb08c7e1fde6ab279e6 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -2706,6 +2706,14 @@ static uint32_t blk0(union char64long16 *block, int i) {
   return block->l[i];
 }
 
+/* Avoid redefine warning (ARM /usr/include/sys/ucontext.h define R0~R4) */
+#undef blk
+#undef R0
+#undef R1
+#undef R2
+#undef R3
+#undef R4
+
 #define blk(i) (block->l[i&15] = rol(block->l[(i+13)&15]^block->l[(i+8)&15] \
     ^block->l[(i+2)&15]^block->l[i&15],1))
 #define R0(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk0(block, i)+0x5A827999+rol(v,5);w=rol(w,30);