diff --git a/src/main/java/eu/simstadt/regionchooser/RegionChooserBrowser.java b/src/main/java/eu/simstadt/regionchooser/RegionChooserBrowser.java
index 0e9d8ef6ab14993c8e21f36264ffbce6d8834939..006ddf2b11825cf88d4f6510c5452fbf76cdaa4b 100644
--- a/src/main/java/eu/simstadt/regionchooser/RegionChooserBrowser.java
+++ b/src/main/java/eu/simstadt/regionchooser/RegionChooserBrowser.java
@@ -22,6 +22,7 @@
 import javafx.scene.layout.Region;
 import javafx.scene.web.WebEngine;
 import javafx.scene.web.WebView;
+import javafx.stage.DirectoryChooser;
 import javafx.stage.FileChooser;
 import javafx.stage.Stage;
 import netscape.javascript.JSObject;
@@ -30,6 +31,7 @@
 public class RegionChooserBrowser extends Region
 {
 	private static final Logger LOGGER = Logger.getLogger(RegionChooserBrowser.class.getName());
+	private static final String PREF_RECENT_REPOSITORY = "RECENT_REPOSITORY";
 	private static final int BUFFER = 1024;
 
 	/**
@@ -41,7 +43,7 @@ public class RegionChooserBrowser extends Region
 
 		public JavaScriptFXBridge() {
 			Preferences userPrefs = Preferences.userRoot().node("/eu/simstadt/desktop");
-			String repoString = userPrefs.get("RECENT_REPOSITORY", "../TestRepository");
+			String repoString = userPrefs.get(PREF_RECENT_REPOSITORY, "../TestRepository");
 			repo = Paths.get(repoString);
 		}
 
@@ -63,7 +65,10 @@ public Void call() throws IOException {
 				}
 			};
 
-			task.setOnRunning(e -> jsApp.call("display", "Importing citgyml. Please wait."));
+			task.setOnRunning(e -> {
+				jsApp.call("display", "Importing citgyml. Please wait.");
+				jsApp.call("init");
+			});
 
 			task.setOnSucceeded(e -> jsApp.call("ready"));
 
@@ -91,6 +96,26 @@ public void downloadRegionFromCityGMLs(String wktPolygon, String project, String
 			}
 		}
 
+		public void selectRepository() {
+			Preferences userPrefs = Preferences.userRoot().node("/eu/simstadt/desktop");
+			String currentRepo = userPrefs.get(PREF_RECENT_REPOSITORY, "../TestRepository");
+
+			DirectoryChooser fileChooser = new DirectoryChooser();
+			Stage mainStage = (Stage) RegionChooserBrowser.this.getScene().getWindow();
+			fileChooser.setTitle("Select Repository");
+			fileChooser.setInitialDirectory(new File(currentRepo));
+			File repoLocation = fileChooser.showDialog(mainStage);
+
+			if (repoLocation != null) {
+				repo = repoLocation.toPath();
+				userPrefs.put(PREF_RECENT_REPOSITORY, repo.toAbsolutePath().toString());
+				LOGGER.info("Repository was set to " + repo);
+				refreshHulls();
+			} else {
+				LOGGER.warning("No repository chosen.");
+			}
+		}
+
 		private File selectSaveFileWithDialog(String project, String citygml, String suffix) {
 			Stage mainStage = (Stage) RegionChooserBrowser.this.getScene().getWindow();
 			FileChooser fileChooser = new FileChooser();
diff --git a/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js b/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
index dfbd58aa72933709983ce8adde0fe3335c5a9ad8..a1d671c48be2f2785277078e8ca821a9f20ef3b0 100644
--- a/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
+++ b/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
@@ -4,7 +4,13 @@ var regionChooser = (function(){
 	//NOTE: Could do without jQuery
 	var dataPanel = $('#dataPanel');
 	var wgs84Sphere = new ol.Sphere(6378137);
-	var gmlId = 0;
+	var gmlId;
+	
+	publicScope.init = function(){
+		//NOTE: Only called from JavaFX. At startup, or when Repo has been changed.
+		gmlId = 0;
+		kml_source.clear();
+	}
 	
 	if (fromJavaFX){
 		$("html").addClass("wait");
@@ -248,7 +254,7 @@ var regionChooser = (function(){
 					fxapp.downloadRegionFromCityGMLs(sketchAsWKT(srsName), project, citygmlNames.join(";"), srsName);
 					dataPanel.append("<h2 class='ok'>Done!</h2><br/>\n");
 				} catch (e) {
-					console.log("ERROR : " + e);
+					console.warning("ERROR : " + e);
 					dataPanel.append("<h2 class='error'>Some problem occured!</h2><br/>\n");
 				}
 				var end = new Date().getTime();
@@ -382,7 +388,8 @@ var regionChooser = (function(){
 	}
 	
 	publicScope.selectRepository = function() {
-		console.log("Should probably do something");
+		console.log("Should probably do select repository.");
+		fxapp.selectRepository();
 	}
 
 	focusOnMap();