diff --git a/src/opus_private.h b/src/opus_private.h
index 5bbd7dcee573e2a0a3f66be3b5820b79a51cee9d..3b62eed0964f0535ef12017c389abb627e3c4d0a 100644
--- a/src/opus_private.h
+++ b/src/opus_private.h
@@ -114,7 +114,7 @@ static OPUS_INLINE int align(int i)
 {
     struct foo {char c; union { void* p; opus_int32 i; opus_val32 v; } u;};
 
-    int alignment = offsetof(struct foo, u);
+    unsigned int alignment = offsetof(struct foo, u);
 
     /* Optimizing compilers should optimize div and multiply into and
        for all sensible alignment values. */