diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImageGenerator.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImageGenerator.java
index d336f731e0c59cf6c268335dcf5bc27a15e4eee5..ceb8c9ca07fec55227070ef67a8ea73c42db741a 100644
--- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImageGenerator.java
+++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImageGenerator.java
@@ -17,12 +17,14 @@
 package ch.systemsx.cisd.yeastx.eicml;
 
 import java.awt.Color;
+import java.awt.Font;
 import java.io.IOException;
 import java.io.OutputStream;
 
 import org.jfree.chart.ChartFactory;
 import org.jfree.chart.ChartUtilities;
 import org.jfree.chart.JFreeChart;
+import org.jfree.chart.axis.Axis;
 import org.jfree.chart.axis.ValueAxis;
 import org.jfree.chart.plot.PlotOrientation;
 import org.jfree.chart.plot.XYPlot;
@@ -229,9 +231,13 @@ public class EICMLChromatogramImageGenerator
      */
     private XYPlot configureChart(JFreeChart chart)
     {
+        Font font = JFreeChart.DEFAULT_TITLE_FONT;
+        chart.getTitle().setFont(cloneFontWithNewSize(font, Math.max(11, imageHeight / 30)));
         chart.setBackgroundPaint(Color.WHITE);
 
         XYPlot plot = (XYPlot) chart.getPlot();
+        setAxisLabelFontSize(plot.getDomainAxis());
+        setAxisLabelFontSize(plot.getRangeAxis());
         plot.setBackgroundPaint(Color.WHITE);
         plot.setDomainGridlinesVisible(false);
         plot.setRangeGridlinesVisible(true);
@@ -244,4 +250,15 @@ public class EICMLChromatogramImageGenerator
 
         return plot;
     }
+    
+    private void setAxisLabelFontSize(Axis axis)
+    {
+        Font labelFont = axis.getLabelFont();
+        axis.setLabelFont(cloneFontWithNewSize(labelFont, Math.max(10, imageHeight / 40)));
+    }
+    
+    private Font cloneFontWithNewSize(Font font, int newSize)
+    {
+        return new Font(font.getName(), font.getStyle(), newSize);
+    }
 }
diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImagesReporter.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImagesReporter.java
index d4164b7c8b8e1ead97528244aacfb1cb274e804d..b698d2718ac728af2f5b28b7c2f00049248960a3 100644
--- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImagesReporter.java
+++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImagesReporter.java
@@ -18,6 +18,8 @@ package ch.systemsx.cisd.yeastx.eicml;
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Properties;
 
@@ -36,6 +38,7 @@ import ch.systemsx.cisd.openbis.generic.shared.GenericSharedConstants;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GeneratedImageTableCell;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription;
 import ch.systemsx.cisd.yeastx.db.DBUtils;
 
@@ -48,8 +51,10 @@ public class EICMLChromatogramImagesReporter extends AbstractDatastorePlugin imp
         IReportingPluginTask
 {
     private static final String CHROMATOGRAM_SERVLET = "chromatogram";
+    
+    private static final int MZ_1_COLUMN_INDEX = 1;
 
-    private static final int THUMBNAIL_WIDTH = 150;
+    private static final int THUMBNAIL_WIDTH = 300;
 
     private static final int THUMBNAIL_HEIGHT = 150;
 
@@ -127,7 +132,18 @@ public class EICMLChromatogramImagesReporter extends AbstractDatastorePlugin imp
             datasetRun.setChromatograms(chromatograms);
             addRun(builder, datasetRun);
         }
-        return builder.getTableModel();
+        TableModel tableModel = builder.getTableModel();
+        List<TableModelRow> rows = tableModel.getRows();
+        Collections.sort(rows, new Comparator<TableModelRow>()
+            {
+                public int compare(TableModelRow r1, TableModelRow r2)
+                {
+                    ISerializableComparable v1 = r1.getValues().get(MZ_1_COLUMN_INDEX);
+                    ISerializableComparable v2 = r2.getValues().get(MZ_1_COLUMN_INDEX);
+                    return v1.compareTo(v2);
+                }
+            });
+        return tableModel;
     }
 
     private List<DatasetRun> fetchRuns(List<DatasetDescription> datasets)
@@ -229,9 +245,9 @@ public class EICMLChromatogramImagesReporter extends AbstractDatastorePlugin imp
 
     private static void addReportHeaders(SimpleTableModelBuilder builder)
     {
-        builder.addHeader("Label");
-        builder.addHeader("m/z 1");
-        builder.addHeader("m/z 2");
-        builder.addHeader("Chromatogram");
+        builder.addHeader("Label", 100);
+        builder.addHeader("m/z 1", 50);
+        builder.addHeader("m/z 2", 50);
+        builder.addHeader("Chromatogram", THUMBNAIL_WIDTH);
     }
 }