diff --git a/string.c b/string.c index 2ccb0a8ab4..5b556679c7 100644 --- a/string.c +++ b/string.c @@ -1025,7 +1025,7 @@ str_new_frozen(VALUE klass, VALUE orig) str = str_new(klass, RSTRING_PTR(orig), RSTRING_LEN(orig)); } else { - if (FL_TEST(orig, STR_SHARED)) { + if (FL_TEST_RAW(orig, STR_SHARED)) { VALUE shared = RSTRING(orig)->as.heap.aux.shared; long ofs = RSTRING(orig)->as.heap.ptr - RSTRING(shared)->as.heap.ptr; long rest = RSTRING(shared)->as.heap.len - ofs - RSTRING(orig)->as.heap.len;