diff --git a/bignum.c b/bignum.c
index 809b164..487eb59 100644
--- a/bignum.c
+++ b/bignum.c
@@ -1805,6 +1805,8 @@ bigadd_int(VALUE x, long y)
     BDIGIT_DBL num;
     long i;
 
+    RB_GC_GUARD(x);
+
     xds = BDIGITS(x);
     xn = RBIGNUM_LEN(x);
 
