diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 2b622bd..df85cf6 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -1346,11 +1346,14 @@ RouteTimeAxisView::name_entry_changed ()
 		return;
 	}
 
-	if (_session.route_name_unique (x)) {
-		_route->set_name (x);
-	} else {
+	if (!_session.route_name_unique (x)) {
 		ARDOUR_UI::instance()->popup_error (_("A track already exists with that name"));
 		name_entry.set_text (_route->name());
+	} else if (_session.route_name_internal (x)) {
+		ARDOUR_UI::instance()->popup_error (_("You cannot create a track with that name as it is reserved for Ardour"));
+		name_entry.set_text (_route->name());
+	} else {
+		_route->set_name (x);
 	}
 }
 
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index c2e7e23..ce29928 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -332,6 +332,7 @@ class Session : public PBD::StatefulDestructible, public boost::noncopyable
 	boost::shared_ptr<Route> route_by_remote_id (uint32_t id);
 
 	bool route_name_unique (string) const;
+	bool route_name_internal (string) const;
 
 	bool get_record_enabled() const {
 		return (record_status () >= Enabled);
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index e2e38a1..fdb396d 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -4002,6 +4002,20 @@ Session::route_name_unique (string n) const
 	return true;
 }
 
+bool
+Session::route_name_internal (string n) const
+{
+	if (auditioner && auditioner->name() == n) {
+		return true;
+	}
+
+	if (_click_io && _click_io->name() == n) {
+		return true;
+	}
+
+	return false;
+}
+
 uint32_t
 Session::n_playlists () const
 {
