diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index 2c9ef60..62b7f09 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -490,6 +490,8 @@ class Session : public PBD::StatefulDestructible
 	std::list<boost::shared_ptr<AudioTrack> > new_audio_track (int input_channels, int output_channels, TrackMode mode = Normal, uint32_t how_many = 1);
 	RouteList new_audio_route (int input_channels, int output_channels, uint32_t how_many);
 
+	boost::shared_ptr<Route> new_video_track (string name);
+
 	void   remove_route (boost::shared_ptr<Route>);
 
 	void   resort_routes ();
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index af0f31b..27aba5f 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -2004,6 +2004,25 @@ Session::new_audio_route (int input_channels, int output_channels, uint32_t how_
 
 }
 
+boost::shared_ptr<Route>
+Session::new_video_track (string name)
+{
+	uint32_t control_id = ntracks() + nbusses() + 1;
+	shared_ptr<Route> new_route (
+		new Route ( *this, name, -1, -1, -1, -1, Route::Flag(0), ARDOUR::DataType::NIL));
+	new_route->set_remote_control_id (control_id);
+
+	RouteList rl;
+	rl.push_back (new_route);
+        {
+		RCUWriter<RouteList> writer (routes);
+		shared_ptr<RouteList> r = writer.get_copy ();
+                r->insert (r->end(), rl.begin(), rl.end());
+		resort_routes_using (r);
+        }
+	return new_route;
+}
+
 void
 Session::add_routes (RouteList& new_routes, bool save)
 {
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index cecaefb..ab7bae5 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -1358,6 +1358,11 @@ Session::load_routes (const XMLNode& node)
 	set_dirty();
 
 	for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
+		if ((*niter)->property ("default-type")->value() == "unknown" ) {
+		  std::cout << "ignoring route with type unknown. (video-track)" << std::endl;
+		  // Note: this may mess up remote_control IDs or more..
+		  continue;
+		}
 
 		boost::shared_ptr<Route> route (XMLRouteFactory (**niter));
 
