 
         handler.once 'done', =>
             delete @_running_cells[id]
+            if @_run_again?[id]
+                @run_code_cell(id)
 
         handler.on 'more_output', (mesg, mesg_length) =>
             @set_more_output(id, mesg, mesg_length)

        dbg = @dbg("manager_run_cell(id='#{id}')")
        dbg()

        @ensure_backend_kernel_setup()

        if not @_jupyter_kernel?

            # The cell is already running, so we must ensure cell is
            # not already running; this would happen if your run cell,
            # change input while it is still running, then re-run.
            @_run_again ?= {}
            @_run_again[id] = true
            @_cancel_run(id)
            return

