diff --git a/screening/.classpath b/screening/.classpath
index cc1665315a02ea156dbf6340f0b9f1b81e009531..d230e06bfaa3a7c4c3bf9c321f0650b5e2045704 100644
--- a/screening/.classpath
+++ b/screening/.classpath
@@ -44,5 +44,6 @@
 	<classpathentry kind="lib" path="/libraries/nativedata"/>
 	<classpathentry kind="lib" path="/libraries/fastutil/fastutil.jar" sourcepath="/libraries/fastutil/fastutil-src.zip"/>
 	<classpathentry kind="lib" path="/libraries/jline/jline.jar" sourcepath="/libraries/jline/src.zip"/>
+	<classpathentry kind="lib" path="/libraries/sybit-image-viewer/image-viewer.jar"/>
 	<classpathentry kind="output" path="targets/www/WEB-INF/classes"/>
 </classpath>
diff --git a/screening/build/build.xml b/screening/build/build.xml
index 44dc1dbaaab16f468cc8acc24b2e3078b2e6991d..cc2d9eef7193b0b8f1847425b3731d609bcdca95 100644
--- a/screening/build/build.xml
+++ b/screening/build/build.xml
@@ -193,6 +193,10 @@
 			<param name="dir" value="${lib}/cisd-base" />
 			<param name="jar" value="cisd-base.jar" />
 		</antcall>
+		<antcall target="copy-and-sign-jar">
+			<param name="dir" value="${lib}/sybit-image-viewer" />
+			<param name="jar" value="image-viewer.jar" />
+		</antcall>
 		<antcall target="copy-and-sign-jar">
 			<param name="dir" value="${lib}/spring" />
 			<param name="jar" value="spring-web.jar" />
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellContentDialog.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellContentDialog.java
index e71665ac99d0904784b0eaea4bc68c33865a8a0c..0751dba76e7a8b84b59abbe15ca6743393544c4d 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellContentDialog.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellContentDialog.java
@@ -442,6 +442,7 @@ public class WellContentDialog extends Dialog
 
                                     Window.open(urlParams.toString(), "_blank",
                                             "resizable=yes,scrollbars=yes,dependent=yes");
+                                    hide();
 
                                 }
                             });
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js
index 99dd9b5a08f585acf20d1d17f4a54401943b3412..d9f0dfe20ccd9c2a0ff25ea9a81817f3dda520ad 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js
@@ -79,7 +79,7 @@ var screening = {
     EXPERIMENT_PLATE_MATERIAL_BROWSER_SECTION: "Library Index",
 		EXACT_MATCH_ONLY: "Exact Matches Only",
 	
-  image_viewer_button: "Launch Image Viewer",
+  image_viewer_button: "Adjust Colors",
   
   // LAST LINE: KEEP IT AT THE END
   lastline: "" // we need a line without a comma
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/ImageViewerLaunchServlet.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/ImageViewerLaunchServlet.java
index 414aec50ec3ae27e913c66b28bc0413121853a39..1ab895837eb962d713b538fcd31ec2a19c0337fa 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/ImageViewerLaunchServlet.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/ImageViewerLaunchServlet.java
@@ -30,11 +30,14 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
+import ch.systemsx.cisd.common.logging.LogCategory;
+import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.common.utilities.Template;
 import ch.systemsx.cisd.openbis.generic.client.web.server.AbstractServlet;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.ParameterNames;
@@ -66,6 +69,7 @@ public class ImageViewerLaunchServlet extends AbstractServlet
                         + "    <j2se version='1.5+'/>\n"
                         + "    <jar href='screening.jar'/>\n"
                         + "    <jar href='cisd-base.jar'/>\n"
+                        + "    <jar href='image-viewer.jar'/>\n"
                         + "    <jar href='spring-web.jar'/>\n"
                         + "    <jar href='spring-context.jar'/>\n"
                         + "    <jar href='spring-beans.jar'/>\n"
@@ -87,9 +91,11 @@ public class ImageViewerLaunchServlet extends AbstractServlet
                         + "${data-set-and-wells-arguments}\n"
                         + "  </application-desc>\n" + "</jnlp>\n");
     
+    private  final Logger operationLog;
 
     public ImageViewerLaunchServlet()
     {
+        operationLog = LogFactory.getLogger(LogCategory.OPERATION, getClass());
     }
 
     @Override
@@ -107,8 +113,10 @@ public class ImageViewerLaunchServlet extends AbstractServlet
             template.bind("base-URL", createBaseURL(request));
             template.bind("main-class", getMainClass());
             template.bind("service-URL", basicURL);
-            template.bind("session-id", getSessionToken(request));
-            template.bind("channel", getParam(request, ParameterNames.CHANNEL));
+            String sessionToken = getSessionToken(request);
+            template.bind("session-id", sessionToken);
+            String channel = getParam(request, ParameterNames.CHANNEL);
+            template.bind("channel", channel);
             StringBuilder builder = new StringBuilder();
             for (String dataSetAndWells : getParams(request, ParameterNames.DATA_SET_AND_WELLS))
             {
@@ -117,6 +125,11 @@ public class ImageViewerLaunchServlet extends AbstractServlet
             template.bind("data-set-and-wells-arguments", builder.toString());
             writer.print(template.createText());
             writer.close();
+            if (operationLog.isInfoEnabled())
+            {
+                operationLog.info("Start Image Viewer for session " + sessionToken
+                        + " and channel " + channel);
+            }
         } catch (UserFailureException ex)
         {
             printError(response, ex.getMessage());
@@ -125,7 +138,7 @@ public class ImageViewerLaunchServlet extends AbstractServlet
     
     private String getMainClass()
     {
-        return "ch.systemsx.cisd.openbis.plugin.screening.client.api.v1.ImageViewer";
+        return "ch.systemsx.sybit.imageviewer.gui.ImageViewer";
     }
     
     private String createBaseURL(HttpServletRequest request)