diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc
index 92efed3..d214bc0 100644
--- a/gtk2_ardour/editor_tempodisplay.cc
+++ b/gtk2_ardour/editor_tempodisplay.cc
@@ -200,6 +200,8 @@ Editor::draw_measures ()
 	}
 
 	tempo_lines->draw(*current_bbt_points, frames_per_unit);
+
+	cout << "After draw_measures: " << tempo_lines->_lines.size() << "\n";
 }
 
 void
diff --git a/gtk2_ardour/tempo_lines.cc b/gtk2_ardour/tempo_lines.cc
index e8bd034..04e584c 100644
--- a/gtk2_ardour/tempo_lines.cc
+++ b/gtk2_ardour/tempo_lines.cc
@@ -213,7 +213,7 @@ TempoLines::draw (ARDOUR::TempoMap::BBTPointList& points, double frames_per_unit
 				}
 
 				// Create a new line
-			} else if (_lines.size() < needed || _lines.size() < MAX_CACHED_LINES) {
+			} else if (_lines.size() < needed && _lines.size() < MAX_CACHED_LINES) {
 				//cout << "*** CREATING LINE" << endl;
 				assert(_lines.find(xpos) == _lines.end());
 				line = new ArdourCanvas::SimpleLine (*_group);
diff --git a/gtk2_ardour/tempo_lines.h b/gtk2_ardour/tempo_lines.h
index 843d94a..6897608 100644
--- a/gtk2_ardour/tempo_lines.h
+++ b/gtk2_ardour/tempo_lines.h
@@ -44,7 +44,7 @@ public:
 	void show();
 	void hide();
 
-private:
+//private:
 #ifdef GTKOSX
 	typedef std::map<double, ArdourCanvas::SimpleLine*, std::less<double> > Lines;
 #else
