diff --git a/.settings/edu.umd.cs.findbugs.core.prefs b/.settings/edu.umd.cs.findbugs.core.prefs
index 82e5b15f6c9bd732223febb51bce2165cfec7466..9234b725770c6362e2eb6014e003b2857dee71ee 100644
--- a/.settings/edu.umd.cs.findbugs.core.prefs
+++ b/.settings/edu.umd.cs.findbugs.core.prefs
@@ -1,5 +1,5 @@
 #FindBugs User Preferences
-#Mon Feb 02 14:42:51 CET 2015
+#Wed Feb 04 15:13:53 CET 2015
 detector_threshold=3
 effort=max
 excludefilter0=.fbExcludeFilterFile|true
diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java
index 75485f6a0b678fa1018697dc8598de4d91dbe643..bb44a76d0f68f3bbd800fd23e526fcae16f25532 100644
--- a/src/main/java/teetime/framework/Analysis.java
+++ b/src/main/java/teetime/framework/Analysis.java
@@ -32,6 +32,8 @@ public class Analysis implements UncaughtExceptionHandler {
 
 	private final Collection<Pair<Thread, Throwable>> exceptions = new ConcurrentLinkedQueue<Pair<Thread, Throwable>>();
 
+	private boolean initialized;
+
 	/**
 	 * Creates a new {@link Analysis} that skips validating the port connections.
 	 *
@@ -47,6 +49,7 @@ public class Analysis implements UncaughtExceptionHandler {
 		if (validationEnabled) {
 			validateStages();
 		}
+		init();
 	}
 
 	private void validateStages() {
@@ -66,8 +69,16 @@ public class Analysis implements UncaughtExceptionHandler {
 
 	/**
 	 * This initializes Analysis and needs to be run right before starting it.
+	 *
+	 * @deprecated 1.1
 	 */
+	@Deprecated
 	public void init() {
+		if (initialized) {
+			return;
+		}
+		initialized = true;
+
 		final List<Stage> threadableStageJobs = this.configuration.getThreadableStageJobs();
 		for (Stage stage : threadableStageJobs) {
 			switch (stage.getTerminationStrategy()) {