diff --git a/org.eclipse.mdm.apicopy/src/test/java/org/eclipse/mdm/apicopy/control/ImportTaskTest.java b/org.eclipse.mdm.apicopy/src/test/java/org/eclipse/mdm/apicopy/control/ImportTaskTest.java
index 384a94a..423b069 100644
--- a/org.eclipse.mdm.apicopy/src/test/java/org/eclipse/mdm/apicopy/control/ImportTaskTest.java
+++ b/org.eclipse.mdm.apicopy/src/test/java/org/eclipse/mdm/apicopy/control/ImportTaskTest.java
@@ -19,11 +19,12 @@
 import org.eclipse.mdm.api.odsadapter.ODSContextFactory;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import com.google.common.collect.ImmutableMap;
 
-//@Ignore
+@Ignore
 //FIXME 22.11.2019: this test needs a running ODS Server, that is not suitable for continous build in Jenkins.
 //Comment this in for local tests only.
 public class ImportTaskTest {
diff --git a/org.eclipse.mdm.application/src/main/webconfig/web.xml b/org.eclipse.mdm.application/src/main/webconfig/web.xml
index 22f3d19..3f38a2a 100644
--- a/org.eclipse.mdm.application/src/main/webconfig/web.xml
+++ b/org.eclipse.mdm.application/src/main/webconfig/web.xml
@@ -29,6 +29,7 @@
 		<web-resource-collection>
 			<web-resource-name>MDM WEB (unprotected)</web-resource-name>
 			<url-pattern>/login.css</url-pattern>
+			<url-pattern>/favicon.ico</url-pattern>
 		</web-resource-collection>
 	</security-constraint>
 
diff --git a/org.eclipse.mdm.freetextindexer/src/main/java/org/eclipse/mdm/freetextindexer/control/SetupIndex.java b/org.eclipse.mdm.freetextindexer/src/main/java/org/eclipse/mdm/freetextindexer/control/SetupIndex.java
index 93445bf..36e0427 100644
--- a/org.eclipse.mdm.freetextindexer/src/main/java/org/eclipse/mdm/freetextindexer/control/SetupIndex.java
+++ b/org.eclipse.mdm.freetextindexer/src/main/java/org/eclipse/mdm/freetextindexer/control/SetupIndex.java
@@ -60,7 +60,7 @@
 			String source = entry.getKey();
 
 			if (!esBoundary.hasIndex(source)) {
-				LOGGER.info("About to create new lucene index!");
+				LOGGER.info("Scheduling asynchronous index creation.");
 				createIndexEvent.fire(new CreateIndex(source, Test.class, TestStep.class, Measurement.class));
 			}
 		}
@@ -68,6 +68,7 @@
 
 	@Asynchronous
 	public void handleCreateIndexEvent(@Observes CreateIndex event) {
+		LOGGER.info("About to create new lucene index!");
 		String source = event.getSourceName();
 		esBoundary.createIndex(source);
 		for (Class<? extends Entity> entityType : event.getEntitiesToIndex()) {
