diff --git a/uk/ac/sanger/artemis/components/variant/AbstractVCFReader.java b/uk/ac/sanger/artemis/components/variant/AbstractVCFReader.java
index b2888ef466f2e4299665edb0750b3a4c3332dbc5..41402dd80b7bf79db1b15652767152d62bc8bc0e 100644
--- a/uk/ac/sanger/artemis/components/variant/AbstractVCFReader.java
+++ b/uk/ac/sanger/artemis/components/variant/AbstractVCFReader.java
@@ -94,7 +94,7 @@ public abstract class AbstractVCFReader
         tabixIterator = null;
         return null;
       }
-      record = VCFRecord.parse(s);
+      record = VCFRecord.parse(s, getNumberOfSamples());
       
       if(record == null)
         tabixIterator = null;
@@ -173,6 +173,7 @@ public abstract class AbstractVCFReader
     final TabixReader tr = new TabixReader(vcfFileName);
     String line;
     boolean headerEnd = true;
+    final StringBuffer buffHeader = new StringBuffer();
 
     while ((line = tr.readLine()) != null)
     {
@@ -180,6 +181,7 @@ public abstract class AbstractVCFReader
       {
         if(!line.startsWith("##FILTER"))
           writer.write(line+'\n');
+        buffHeader.append(line+'\n');
         continue;
       }
       else if(headerEnd)
@@ -191,10 +193,12 @@ public abstract class AbstractVCFReader
       if(line.startsWith("#"))
       {
         writer.write(line+'\n');
+        buffHeader.append(line+'\n');
+        tr.setHeader(buffHeader.toString());
         continue;
       }
       
-      VCFRecord record = VCFRecord.parse(line);
+      VCFRecord record = VCFRecord.parse(line, tr.getNumberOfSamples());
       int basePosition = record.getPos() + vcfView.getSequenceOffset(record.getChrom());
       VCFFilter.setFilterString(record, vcfView, basePosition, features, tr);
       writer.write(record.toString()+'\n');
diff --git a/uk/ac/sanger/artemis/components/variant/GraphPanel.java b/uk/ac/sanger/artemis/components/variant/GraphPanel.java
index 8b40d6a3e8a74032d432401234dd1bf83aa305c9..0b321dd017b747cbfbbd141b613c1ed7a8d5a84e 100644
--- a/uk/ac/sanger/artemis/components/variant/GraphPanel.java
+++ b/uk/ac/sanger/artemis/components/variant/GraphPanel.java
@@ -213,7 +213,7 @@ public class GraphPanel extends JPanel
         String s;
         while ((s = iter.next()) != null)
         {
-          VCFRecord record = VCFRecord.parse(s);
+          VCFRecord record = VCFRecord.parse(s, reader.getNumberOfSamples());
           max = calc(record, features, reader, windowSize, nBins, snpCount, max);
         }
       }