diff --git a/uk/ac/sanger/artemis/components/variant/IOUtils.java b/uk/ac/sanger/artemis/components/variant/IOUtils.java
index 1de636c8fa12a81ecbf8de84b943da994a04bb00..601d554716b4e355c13c89ba2b4f1d0291c49758 100644
--- a/uk/ac/sanger/artemis/components/variant/IOUtils.java
+++ b/uk/ac/sanger/artemis/components/variant/IOUtils.java
@@ -234,7 +234,7 @@ class IOUtils
     {
       e.printStackTrace();
     }
-    
+
     if(!view)
       new MessageDialog (null, "Saved Files", fastaFiles, false);
     else
@@ -565,15 +565,22 @@ class IOUtils
     }
     else
     {
-      TabixReader.Iterator iter = 
-        (((TabixReader) reader).query(chr+":"+sbeg+"-"+send)); // get the iterator
-      String s;
-      while ((s = iter.next()) != null)
+      try
       {
-        VCFRecord record = VCFRecord.parse(s);
-        int basePosition = record.getPos() + vcfView.getSequenceOffset(record.getChrom());
-        if(vcfView.showVariant(record, features, basePosition, vcf_v4) )
-          basesStr = getSeqsVariation(record, basesStr, sbeg, isFwd, vcf_v4);
+        TabixReader.Iterator iter = 
+          (((TabixReader) reader).query(chr+":"+sbeg+"-"+send)); // get the iterator
+        String s;
+        while (iter != null && (s = iter.next()) != null)
+        {
+          VCFRecord record = VCFRecord.parse(s);
+          int basePosition = record.getPos() + vcfView.getSequenceOffset(record.getChrom());
+          if(vcfView.showVariant(record, features, basePosition, vcf_v4) )
+            basesStr = getSeqsVariation(record, basesStr, sbeg, isFwd, vcf_v4);
+        }
+      }
+      catch(NullPointerException e)
+      {
+        System.err.println(chr+":"+sbeg+"-"+send+"\n"+e.getMessage());
       }
     }
     return basesStr;