diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageDatasetSection.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageDatasetSection.java
index 70b3e6c4086e7e52403e222a97c2a7c0eb582ffd..9208d75b02781278fb3d57f267b1360f5f1fd329 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageDatasetSection.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/LogicalImageDatasetSection.java
@@ -73,22 +73,27 @@ public class LogicalImageDatasetSection extends TabContent
                     setLayout(new RowLayout());
                     setScrollMode(Scroll.AUTO);
 
-                    Experiment experiment = dataset.getExperiment();
-                    String experimentPermId = experiment.getPermId();
-                    String identifier = experiment.getIdentifier();
-                    LogicalImageReference logicalImageReference =
-                            new LogicalImageReference(dataset.getCode(), dataset.getDataStore()
-                                    .getCode(), dataset.getDataStore().getHostUrl(),
-                                    imageInfo.getImageParameters());
-                    LogicalImageViewer viewer =
-                            new LogicalImageViewer(logicalImageReference,
-                                    LogicalImageDatasetSection.this.viewContext, identifier,
-                                    experimentPermId, true);
-                    Widget viewerWidget = viewer.getViewerWidget(imageInfo.getChannelStacks());
+                    Widget viewerWidget = createImageViewerWidget(imageInfo);
                     add(viewerWidget, LayoutUtils.createRowLayoutSurroundingData());
 
                     layout();
                 }
             };
     }
+
+    private Widget createImageViewerWidget(LogicalImageInfo imageInfo)
+    {
+        Experiment experiment = dataset.getExperiment();
+        String experimentPermId = experiment.getPermId();
+        String identifier = experiment.getIdentifier();
+        LogicalImageReference logicalImageReference =
+                new LogicalImageReference(dataset.getCode(), dataset.getDataStore().getCode(),
+                        dataset.getDataStore().getHostUrl(), imageInfo.getImageParameters());
+        LogicalImageViewer viewer =
+                new LogicalImageViewer(logicalImageReference,
+                        LogicalImageDatasetSection.this.viewContext, identifier, experimentPermId,
+                        true);
+        Widget viewerWidget = viewer.getViewerWidget(imageInfo.getChannelStacks());
+        return viewerWidget;
+    }
 }