diff --git a/uk/ac/sanger/artemis/components/PrintArtemis.java b/uk/ac/sanger/artemis/components/PrintArtemis.java
index ac1bebf0c133fe90a775b1d5d12e36f78bced6c2..a05c3eef2acf6531a54378c11c069d3419472e13 100644
--- a/uk/ac/sanger/artemis/components/PrintArtemis.java
+++ b/uk/ac/sanger/artemis/components/PrintArtemis.java
@@ -134,10 +134,12 @@ public class PrintArtemis extends ScrollPanel implements Printable
     {
       FeatureList flist = entry.getFeatureList();
       Point ploc = flist.getViewport().getViewPosition();
-      //flist.setOpaque(false);
-      g2d.translate(0,-ploc.y);
-      flist.paintComponent(g2d);
-      //flist.setOpaque(true);
+      BufferedImage offScreen = new BufferedImage(flist.getViewport().getWidth(), 
+          flist.getViewport().getHeight(), BufferedImage.TYPE_INT_RGB);
+      Graphics og = offScreen.getGraphics();
+      og.translate(0,-ploc.y);
+      flist.paintComponent(og);
+      g2d.drawImage(offScreen, 0, 0, null);
     }
   }