Added additional runtime checks before decreasing