diff --git a/uk/ac/sanger/artemis/chado/ClusterLazyQualifierValue.java b/uk/ac/sanger/artemis/chado/ClusterLazyQualifierValue.java
index 8df8d510b16441be6bb941ab11c32a25b7f89ab7..e81ae4f62d93f5cbbc426312c676b40896438b03 100644
--- a/uk/ac/sanger/artemis/chado/ClusterLazyQualifierValue.java
+++ b/uk/ac/sanger/artemis/chado/ClusterLazyQualifierValue.java
@@ -388,17 +388,23 @@ public class ClusterLazyQualifierValue implements LazyQualifierValue
     if(!subjectFeature.getCvTerm().getName().equals("gene") ||
        !subjectFeature.getCvTerm().getName().equals("pseudogene"))
     {
-      Feature parent = getParentFeature(subjectFeature);
-
-      if(parent.getCvTerm().getName().equals("gene") ||
-         parent.getCvTerm().getName().equals("pseudogene"))
-        geneName = parent.getUniqueName();
-      else if(parent != null)
+      Feature parent = getParentFeature(subjectFeature);  
+      try
       {
-        parent = getParentFeature(parent);
         if(parent.getCvTerm().getName().equals("gene") ||
            parent.getCvTerm().getName().equals("pseudogene"))
           geneName = parent.getUniqueName();
+        else if(parent != null)
+        {
+          parent = getParentFeature(parent);
+          if(parent.getCvTerm().getName().equals("gene") ||
+             parent.getCvTerm().getName().equals("pseudogene"))
+            geneName = parent.getUniqueName();
+        }
+      }
+      catch(NullPointerException npe)
+      {
+        System.err.println(geneName+" parent not found"); 
       }
     }
     return geneName;