def cmd_ANNOTATION(game, position, msg):
     game.info_db[position] = msg
+    game.tui.restore_input_values()
     if game.tui.mode.shows_info:
         game.tui.do_refresh = True
 cmd_ANNOTATION.argtypes = 'yx_tuple:nonneg string'
         if self.mode.shows_info:
             player = self.game.get_thing(self.game.player_id)
             self.explorer = YX(player.position.y, player.position.x)
+            self.query_info()
         if self.mode.name == 'waiting_for_server':
             self.log_msg('@ waiting for server …')
         if self.mode.name == 'edit':
 
         } else if (tokens[0] === 'ANNOTATION') {
             let position = parser.parse_yx(tokens[1]);
             explorer.update_info_db(position, tokens[2]);
+            tui.restore_input_values();
+            tui.full_refresh();
         } else if (tokens[0] === 'UNHANDLED_INPUT') {
             tui.log_msg('? unknown command');
         } else if (tokens[0] === 'PLAY_ERROR') {
     this.map_mode = 'terrain';
     if (mode.shows_info && game.player_id in game.things) {
       explorer.position = game.things[game.player_id].position;
+      explorer.query_info();
     }
     this.mode = mode;
     this.empty_input();