fix another gc bug!