fix: reset backword states after put()