diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc
index 6a7733ae5..6f889adfe 100644
--- a/gtk2_ardour/audio_clock.cc
+++ b/gtk2_ardour/audio_clock.cc
@@ -877,8 +877,6 @@ AudioClock::set (samplepos_t when, bool force, samplecnt_t offset)
 #endif
 	}
 
-	bool btn_en = false;
-
 	if (!editing) {
 
 		switch (_mode) {
@@ -888,7 +886,6 @@ AudioClock::set (samplepos_t when, bool force, samplecnt_t offset)
 
 		case BBT:
 			set_bbt (when, offset, force);
-			btn_en = true;
 			break;
 
 		case MinSec:
@@ -905,28 +902,6 @@ AudioClock::set (samplepos_t when, bool force, samplecnt_t offset)
 		}
 	}
 
-	if (_with_info) {
-		_left_btn.set_sensitive (btn_en);
-		_right_btn.set_sensitive (btn_en);
-		_left_btn.set_visual_state (Gtkmm2ext::NoVisualState);
-		_right_btn.set_visual_state (Gtkmm2ext::NoVisualState);
-		if (btn_en) {
-			_left_btn.set_elements (ArdourButton::Element(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text));
-			_right_btn.set_elements (ArdourButton::Element(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text));
-			_left_btn.set_alignment (.5, .5);
-			_right_btn.set_alignment (.5, .5);
-			set_tooltip (_left_btn, _("Change current tempo"));
-			set_tooltip (_right_btn, _("Change current time signature"));
-		} else {
-			_left_btn.set_elements (ArdourButton::Text);
-			_right_btn.set_elements (ArdourButton::Text);
-			_left_btn.set_alignment (0, .5);
-			_right_btn.set_alignment (1, .5);
-			set_tooltip (_left_btn, _(""));
-			set_tooltip (_right_btn, _(""));
-		}
-	}
-
 	queue_draw ();
 	last_when = when;
 }
@@ -2191,6 +2166,8 @@ AudioClock::set_mode (Mode m, bool noemit)
 	Gtk::Requisition req;
 	set_clock_dimensions (req);
 
+	bool btn_en = false;
+
 	switch (_mode) {
 	case Timecode:
 		insert_map.push_back (11);
@@ -2213,6 +2190,7 @@ AudioClock::set_mode (Mode m, bool noemit)
 		insert_map.push_back (3);
 		insert_map.push_back (2);
 		insert_map.push_back (1);
+		btn_en = true;
 		break;
 
 	case MinSec:
@@ -2246,6 +2224,30 @@ AudioClock::set_mode (Mode m, bool noemit)
 
 	AudioClock::set (last_when, true);
 
+	if (_with_info) {
+		_left_btn.set_sensitive (btn_en);
+		_right_btn.set_sensitive (btn_en);
+		_left_btn.set_visual_state (Gtkmm2ext::NoVisualState);
+		_right_btn.set_visual_state (Gtkmm2ext::NoVisualState);
+		if (btn_en) {
+			_left_btn.set_elements (ArdourButton::Element(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text));
+			_right_btn.set_elements (ArdourButton::Element(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text));
+			_left_btn.set_alignment (.5, .5);
+			_right_btn.set_alignment (.5, .5);
+			printf ("set_tooltip..\n");
+			set_tooltip (_left_btn, _("Change current tempo"));
+			set_tooltip (_right_btn, _("Change current time signature"));
+		} else {
+			_left_btn.set_elements (ArdourButton::Text);
+			_right_btn.set_elements (ArdourButton::Text);
+			_left_btn.set_alignment (0, .5);
+			_right_btn.set_alignment (1, .5);
+			printf ("unset_tooltip..\n");
+			set_tooltip (_left_btn, _(""));
+			set_tooltip (_right_btn, _(""));
+		}
+	}
+
 	if (!is_transient && !noemit) {
 		ModeChanged (); /* EMIT SIGNAL (the static one)*/
 	}
