diff --git a/src/gui_beval.c b/src/gui_beval.c
index 8b90362..b3d8e6c 100644
--- a/src/gui_beval.c
+++ b/src/gui_beval.c
@@ -60,11 +60,7 @@
 static gint mainwin_event_cb(GtkWidget *, GdkEvent *, gpointer);
 static void pointer_event(BalloonEval *, int, int, unsigned);
 static void key_event(BalloonEval *, unsigned, int);
-# if GTK_CHECK_VERSION(3,0,0)
 static gboolean timeout_cb(gpointer);
-# else
-static gint timeout_cb(gpointer);
-# endif
 # if GTK_CHECK_VERSION(3,0,0)
 static gboolean balloon_draw_event_cb (GtkWidget *, cairo_t *, gpointer);
 # else
@@ -444,11 +440,7 @@
 	cancelBalloon(beval);
 }
 
-# if GTK_CHECK_VERSION(3,0,0)
     static gboolean
-# else
-    static gint
-# endif
 timeout_cb(gpointer data)
 {
     BalloonEval *beval = (BalloonEval *)data;
diff --git a/src/if_mzsch.c b/src/if_mzsch.c
index 41cecb1..ddd3852 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -811,11 +811,7 @@
 static void CALLBACK timer_proc(HWND, UINT, UINT_PTR, DWORD);
 static UINT timer_id = 0;
 #elif defined(FEAT_GUI_GTK)
-# if GTK_CHECK_VERSION(3,0,0)
 static gboolean timer_proc(gpointer);
-# else
-static gint timer_proc(gpointer);
-# endif
 static guint timer_id = 0;
 #elif defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)
 static void timer_proc(XtPointer, XtIntervalId *);
@@ -855,11 +851,7 @@
     static void CALLBACK
 timer_proc(HWND hwnd UNUSED, UINT uMsg UNUSED, UINT_PTR idEvent UNUSED, DWORD dwTime UNUSED)
 # elif defined(FEAT_GUI_GTK)
-#  if GTK_CHECK_VERSION(3,0,0)
     static gboolean
-#  else
-    static gint
-#  endif
 timer_proc(gpointer data UNUSED)
 # elif defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)
     static void
@@ -886,11 +878,7 @@
 # if defined(FEAT_GUI_W32)
     timer_id = SetTimer(NULL, 0, p_mzq, timer_proc);
 # elif defined(FEAT_GUI_GTK)
-#  if GTK_CHECK_VERSION(3,0,0)
     timer_id = g_timeout_add((guint)p_mzq, (GSourceFunc)timer_proc, NULL);
-#  else
-    timer_id = gtk_timeout_add((guint32)p_mzq, (GtkFunction)timer_proc, NULL);
-#  endif
 # elif defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)
     timer_id = XtAppAddTimeOut(app_context, p_mzq, timer_proc, NULL);
 # elif defined(FEAT_GUI_MAC)
@@ -906,11 +894,7 @@
 # if defined(FEAT_GUI_W32)
     KillTimer(NULL, timer_id);
 # elif defined(FEAT_GUI_GTK)
-#  if GTK_CHECK_VERSION(3,0,0)
     g_source_remove(timer_id);
-#  else
-    gtk_timeout_remove(timer_id);
-#  endif
 # elif defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)
     XtRemoveTimeOut(timer_id);
 # elif defined(FEAT_GUI_MAC)
diff --git a/src/version.c b/src/version.c
index 1f9d809..cec708f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    714,
+/**/
     713,
 /**/
     712,
