diff --git a/lib/js/test/build.xml b/lib/js/test/build.xml
index 4409679..f1aa51d 100755
--- a/lib/js/test/build.xml
+++ b/lib/js/test/build.xml
@@ -253,6 +253,7 @@
     <artifact:dependencies filesetId="js.test.dependency.jars">
       <dependency groupId="org.apache.httpcomponents" artifactId="httpclient" version="4.0.1"/>
       <dependency groupId="com.googlecode.jslint4java" artifactId="jslint4java-ant" version="1.4.6"/>
+      <dependency groupId="eu.medsea.mimeutil" artifactId="mime-util" version="2.1.3"/>
       <!-- get jstestdriver.jar via maven-->
       <remoteRepository id="jstd-maven-plugin google code repo" url="http://jstd-maven-plugin.googlecode.com/svn/maven2"/>
       <dependency groupId="com.google.jstestdriver" artifactId="maven-jstestdriver-plugin" version="1.3.2.3"/>
diff --git a/lib/js/test/src/test/Httpd.java b/lib/js/test/src/test/Httpd.java
index 0ed051e..f1291d8 100644
--- a/lib/js/test/src/test/Httpd.java
+++ b/lib/js/test/src/test/Httpd.java
@@ -72,6 +72,12 @@
 import thrift.test.ThriftTest;
 import org.apache.thrift.server.ServerTestBase.TestHandler;
 
+import eu.medsea.mimeutil.detector.ExtensionMimeDetector;
+import eu.medsea.mimeutil.MimeUtil2;
+import eu.medsea.mimeutil.MimeType;
+import java.util.Collection;
+import java.util.Iterator;
+
 /**
  * Basic, yet fully functional and spec compliant, HTTP/1.1 file server.
  * <p>
@@ -177,8 +183,20 @@
 
                 } else {
 
+		    String mimeType = "application/octet-stream";
+		    MimeUtil2 mimeUtil = new MimeUtil2();
+		    mimeUtil.registerMimeDetector(ExtensionMimeDetector.class.getName());
+		    Collection<MimeType> collection = mimeUtil.getMimeTypes(file);
+		    Iterator<MimeType> iterator = collection.iterator();
+		    while(iterator.hasNext()) {
+			MimeType mt = iterator.next();
+			mimeType =  mt.getMediaType() + "/" + mt.getSubType();
+			break;
+		    }
+
                     response.setStatusCode(HttpStatus.SC_OK);
-                    FileEntity body = new FileEntity(file, "text/html");
+                    FileEntity body = new FileEntity(file, mimeType);
+                    response.addHeader("Content-Type", mimeType);
                     response.setEntity(body);
                     System.out.println("Serving file " + file.getPath());
 
