diff --git a/common/source/java/ch/systemsx/cisd/common/parser/ExcelFileLoader.java b/common/source/java/ch/systemsx/cisd/common/parser/ExcelFileLoader.java
index e0f22f625a5961e23725e9350075e472fa2ba0e6..967a4caf8dade2f1817ac75b408e92440efe0d05 100644
--- a/common/source/java/ch/systemsx/cisd/common/parser/ExcelFileLoader.java
+++ b/common/source/java/ch/systemsx/cisd/common/parser/ExcelFileLoader.java
@@ -17,6 +17,7 @@
 package ch.systemsx.cisd.common.parser;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -302,8 +303,8 @@ public class ExcelFileLoader<T>
         {
             if (unique.add(token.toLowerCase()) == false)
             {
-                throw new IllegalArgumentException(String.format("Duplicated column name '%s'.",
-                        token));
+                throw new IllegalArgumentException(String.format("Duplicated column name '%s': %s" ,
+                        token, Arrays.asList(tokens)));
             }
         }
     }
diff --git a/common/source/java/ch/systemsx/cisd/common/parser/ExcelRowTokenizer.java b/common/source/java/ch/systemsx/cisd/common/parser/ExcelRowTokenizer.java
index 4ba1ff38fb24f4e0d3a0ee0fdcc7a27b9f8aff58..4f135349e20a5819d08c3fe90d3cea8b52c915ca 100644
--- a/common/source/java/ch/systemsx/cisd/common/parser/ExcelRowTokenizer.java
+++ b/common/source/java/ch/systemsx/cisd/common/parser/ExcelRowTokenizer.java
@@ -40,6 +40,10 @@ public class ExcelRowTokenizer implements ILineTokenizer<Row>
     public static String[] tokenizeRow(Row row)
     {
         String[] line = new String[row.getLastCellNum()];
+        for (int i = 0; i < line.length; i++)
+        {
+            line[i] = "";
+        }
         for (Cell cell : row)
         {
             String value = extractCellValue(cell).trim();
diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/parser/ExcelRowTokenizerTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/parser/ExcelRowTokenizerTest.java
index 77f7e04ef9ad71043ba96b26c629e0c6fee9f098..94ef6469c2f9a2eea531d02eefecbe175e00626e 100644
--- a/common/sourceTest/java/ch/systemsx/cisd/common/parser/ExcelRowTokenizerTest.java
+++ b/common/sourceTest/java/ch/systemsx/cisd/common/parser/ExcelRowTokenizerTest.java
@@ -52,6 +52,14 @@ public class ExcelRowTokenizerTest extends AssertJUnit
         assertEquals("Meh blah & so on", line2[1]);
         assertEquals("no", line2[2]);
 
+        String[] line3 = ExcelRowTokenizer.tokenizeRow(row.get(2));
+        assertEquals("42", line3[0]);
+        assertEquals("The question", line3[1]);
+        assertEquals("", line3[2]);
+        assertEquals("", line3[3]);
+        assertEquals("", line3[4]);
+        assertEquals("hello", line3[5]);
+        assertEquals(6, line3.length);
     }
 
     private List<Row> getRows() throws Exception
@@ -65,7 +73,7 @@ public class ExcelRowTokenizerTest extends AssertJUnit
             POIFSFileSystem poifsFileSystem = new POIFSFileSystem(stream);
             HSSFWorkbook workbook = new HSSFWorkbook(poifsFileSystem);
             final HSSFSheet sheet = workbook.getSheetAt(0);
-            return Arrays.<Row> asList(sheet.getRow(0), sheet.getRow(1));
+            return Arrays.<Row> asList(sheet.getRow(0), sheet.getRow(1), sheet.getRow(2));
         } finally
         {
             IOUtils.closeQuietly(stream);
diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/parser/excel-row-tokenizer-test.xls b/common/sourceTest/java/ch/systemsx/cisd/common/parser/excel-row-tokenizer-test.xls
index 9f9856b9cd84cd5aae9400a7b414f0e5e8fa01dd..196ec626870ea3e8213c0a55e6935df6929f1dd1 100644
Binary files a/common/sourceTest/java/ch/systemsx/cisd/common/parser/excel-row-tokenizer-test.xls and b/common/sourceTest/java/ch/systemsx/cisd/common/parser/excel-row-tokenizer-test.xls differ