                  }
              }
              
-@@ -254,6 +276,11 @@ void start_button_clicked(GtkWidget *widget, gpointer data) {
+@@ -251,14 +273,20 @@ void start_button_clicked(GtkWidget *widget, gpointer data) {
+         gtk_widget_set_sensitive(notebook, FALSE);
+     }
+     else {
++        /* Prevent multiple entry */
++        state->running = 0;
++
          kill(state->pid, SIGTERM);
  
          wait(&status);

         
         gtk_button_set_label(GTK_BUTTON(widget), GTK_STOCK_EXECUTE);
         gtk_widget_set_sensitive(notebook, TRUE);
diff --git a/src/callbacks.h b/src/callbacks.h
index 32ff8c6..9cc17bb 100644
--- a/src/callbacks.h

diff --git a/src/callbacks.c b/src/callbacks.c
index 1b6d3e7..758f2f2 100644
--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -88,6 +88,10 @@ void entry_changed_cb(GtkEntry *entry, gpointer data) {
