diff --git a/src/main/java/it/unibz/inf/isochrone/network/Node.java b/src/main/java/it/unibz/inf/isochrone/network/Node.java
index 87c2c3ad013c2445ec62d1998dc9496bc8b0ae17..2b1c7a706a78e351791e9860d003e5737d72a102 100644
--- a/src/main/java/it/unibz/inf/isochrone/network/Node.java
+++ b/src/main/java/it/unibz/inf/isochrone/network/Node.java
@@ -19,8 +19,7 @@ public class Node implements Comparable<Node> {
 	private List<Link> adjLinks = null;
 	private Hashtable<Integer, Schedule> routes;
 	private int cheapestReachedRouteId = Integer.MIN_VALUE;
-	 // For MrneX
-	private Point coordinates = null;
+	private Point coordinates = null; // for MrneX
 	private double radius = Double.NEGATIVE_INFINITY;
 
 	// Constructors
diff --git a/src/main/java/it/unibz/inf/isoga/db/DatabaseWeb.java b/src/main/java/it/unibz/inf/isoga/db/DatabaseWeb.java
index 426e2431a5ce492827f4d4947af15872d01cfe6e..2512fd4436de34cecdd724e3b13d7523ea4604ed 100644
--- a/src/main/java/it/unibz/inf/isoga/db/DatabaseWeb.java
+++ b/src/main/java/it/unibz/inf/isoga/db/DatabaseWeb.java
@@ -48,17 +48,19 @@ public class DatabaseWeb extends Database<ConfigClient> {
 	private final String queryInsertVertex;
 	private final String queryInsertVertexAnnotation;
 	private final String queryUpdateVertices;
+	private final TableEntry vertexTableEntry;
 
 	// Constructor
 
 	public DatabaseWeb(final ConfigClient config, final Mode mode, final Direction direction) {
 		super(config, mode, direction);
 
+		vertexTableEntry = config.getVertexTableEntry();
 		final String configEdges = config.getTableEdges();
 		final String configRoutes = config.getTableRoutes();
 		final String configVertex = config.getTableVertex();
 		final String edgeTableName = config.getEdgeTableEntry().getTableName();
-		final String vertexTableName = config.getVertexTableEntry().getTableName();
+		final String vertexTableName = vertexTableEntry.getTableName();
 		final String vertexAnnotationTableName = config.getVertexAnnotatedTableEntry().getTableName();
 
 		queryGetIsoEdges = "SELECT E.\"ID\", E.\"SOURCE\", V.\"DISTANCE\" DISTANCE, E.\"TARGET\", E.\"OFFSET\", E.\"LENGTH\", E.\"GEOMETRY\" FROM "
@@ -415,6 +417,7 @@ public class DatabaseWeb extends Database<ConfigClient> {
 			}
 
 			connection.commit();
+			DbUtility.createSpatialIndex(connection, vertexTableEntry);
 		} catch (final SQLException e) {
 			e.printStackTrace();
 		} finally {
diff --git a/src/main/java/it/unibz/inf/isoga/network/BBoxOutput.java b/src/main/java/it/unibz/inf/isoga/network/BBoxOutput.java
index 699913cf8e292e1d3896e70cad40588a420a76a0..adb025f2a00f4a8af9c376405562cae77f1785e7 100644
--- a/src/main/java/it/unibz/inf/isoga/network/BBoxOutput.java
+++ b/src/main/java/it/unibz/inf/isoga/network/BBoxOutput.java
@@ -7,8 +7,6 @@ import it.unibz.inf.isochrone.network.MemoryOutput;
 import it.unibz.inf.isochrone.network.Node;
 import it.unibz.inf.isochrone.util.EnumContainer.Direction;
 import it.unibz.inf.isoga.db.DatabaseWeb;
-import it.unibz.inf.isoga.db.DbUtility;
-import it.unibz.inf.isoga.db.TableEntry;
 import it.unibz.inf.isoga.geometry.BBox;
 
 import java.sql.Connection;
@@ -23,24 +21,21 @@ import org.apache.commons.dbutils.DbUtils;
  */
 public class BBoxOutput extends MemoryOutput {
 	private BBox boundingBox;
-	private boolean isSaved;
+	private boolean isSavedInDatabase;
 	private final String query;
 	private final int serverSRID;
-	private final TableEntry edgeTableEntry;
-	private final TableEntry vertexTableEntry;
 
 	// Constructors
 
 	public BBoxOutput(final ConfigDataset config) {
 		super();
 
-		isSaved = false;
-		edgeTableEntry = config.getEdgeTableEntry();
-		vertexTableEntry = config.getVertexTableEntry();
+		final String cfgEdgeTable = config.getEdgeTableEntry().getTableName();
 		serverSRID = config.getServerSRID();
+		isSavedInDatabase = false;
 
 		query = "SELECT ST_XMin(mbr.geo) min_x, ST_yMin(mbr.geo) min_y, ST_XMax(mbr.geo) max_x, ST_yMax(mbr.geo) max_y FROM "
-				+ "(SELECT st_transform(ST_SetSRID(st_extent(\"GEOMETRY\"),?),?) GEO FROM " + edgeTableEntry.getTableName() + ") MBR";
+				+ "(SELECT st_transform(ST_SetSRID(st_extent(\"GEOMETRY\"),?),?) GEO FROM " + cfgEdgeTable + ") MBR";
 	}
 
 	// Public methods
@@ -48,7 +43,7 @@ public class BBoxOutput extends MemoryOutput {
 	@Override
 	public void addLink(final Link link) {
 		boundingBox = null;
-		isSaved = false;
+		isSavedInDatabase = false;
 
 		super.addLink(link);
 	}
@@ -56,13 +51,13 @@ public class BBoxOutput extends MemoryOutput {
 	@Override
 	public void addNode(final Node node) {
 		boundingBox = null;
-		isSaved = false;
+		isSavedInDatabase = false;
 
 		super.addNode(node);
 	}
 
 	public BBox getBoundingBox() {
-		if (!isSaved) {
+		if (!isSavedInDatabase) {
 			throw new IllegalStateException("Can not calculate bounding box, since results have not been saved to database");
 		}
 		if (boundingBox == null) {
@@ -102,9 +97,8 @@ public class BBoxOutput extends MemoryOutput {
 	public void saveInDatabase(final DatabaseWeb db, final Direction direction) {
 		db.storeLinks(getLinks().values(), direction);
 		db.storeVertices(getNodes());
-		DbUtility.createSpatialIndex(db.getConnection(), vertexTableEntry);
 		db.updateVertexTable();
 
-		isSaved = true;
+		isSavedInDatabase = true;
 	}
 }