diff --git a/uk/ac/sanger/artemis/components/variant/BCFReader.java b/uk/ac/sanger/artemis/components/variant/BCFReader.java
index 67ae68adba9c9f49ded651a978ae66c6f79f2172..03e91955f53610fb4b220eabd380de9cd6f6aa25 100644
--- a/uk/ac/sanger/artemis/components/variant/BCFReader.java
+++ b/uk/ac/sanger/artemis/components/variant/BCFReader.java
@@ -181,8 +181,10 @@ class BCFReader
     getParts(str, bcfRecord);
     
     if(formatPattern.matcher(bcfRecord.format).matches())
-    {     
-      int nc  = 3;
+    {
+      int n_alleles = bcfRecord.getNumAlleles();
+      int nc  = (int) (n_alleles * ((float)(((float)n_alleles+1.f)/2.f)));
+
       if(bcfRecord.alt.equals("."))
         nc = 1;