Index: gtk2_ardour/startup.cc
===================================================================
--- gtk2_ardour/startup.cc	(revision 11489)
+++ gtk2_ardour/startup.cc	(working copy)
@@ -582,6 +582,7 @@
 			
 		existing_session_chooser.set_title (_("Select session file"));
 		existing_session_chooser.signal_file_set().connect (sigc::mem_fun (*this, &ArdourStartup::existing_session_selected));
+		existing_session_chooser.set_current_folder(poor_mans_glob (Config->get_default_session_parent_dir()));
 			
 #ifdef GTKOSX
 		existing_session_chooser.add_shortcut_folder ("/Volumes");
Index: gtk2_ardour/ardour_ui.cc
===================================================================
--- gtk2_ardour/ardour_ui.cc	(revision 11489)
+++ gtk2_ardour/ardour_ui.cc	(working copy)
@@ -1409,6 +1409,15 @@
 		open_session_selector->add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
 		open_session_selector->add_button (Gtk::Stock::OPEN, Gtk::RESPONSE_ACCEPT);
 		open_session_selector->set_default_response(Gtk::RESPONSE_ACCEPT);
+		
+		if (_session) {
+			string session_parent_dir = Glib::path_get_dirname(_session->path());
+			string::size_type last_dir_sep = session_parent_dir.rfind(G_DIR_SEPARATOR);
+			session_parent_dir = session_parent_dir.substr(0, last_dir_sep);
+			open_session_selector->set_current_folder(session_parent_dir);
+		} else {
+			open_session_selector->set_current_folder(Config->get_default_session_parent_dir());
+		}
 
 		FileFilter session_filter;
 		session_filter.add_pattern ("*.ardour");

