diff --git a/uk/ac/sanger/artemis/components/alignment/BamView.java b/uk/ac/sanger/artemis/components/alignment/BamView.java
index 96aafd71588e8c78f59664fd6055a975f0768073..f8db207edfa2e48f88ebf2c43e32b1ffc91399ba 100644
--- a/uk/ac/sanger/artemis/components/alignment/BamView.java
+++ b/uk/ac/sanger/artemis/components/alignment/BamView.java
@@ -2363,6 +2363,16 @@ public class BamView extends JPanel
           filterFrame.setVisible(true);
       } 
     });
+    
+    JMenuItem readList = new JMenuItem("List Reads ...");
+    menu.add(readList);
+    readList.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        new SAMRecordList(readsInView);
+      }
+    });
 
     final JMenuItem bamSplitter = new JMenuItem("Clone window");
     bamSplitter.addActionListener(new ActionListener()
diff --git a/uk/ac/sanger/artemis/components/alignment/SAMRecordList.java b/uk/ac/sanger/artemis/components/alignment/SAMRecordList.java
new file mode 100644
index 0000000000000000000000000000000000000000..0bd802c34dee13ff74a7ffc66bff3666b21f8b29
--- /dev/null
+++ b/uk/ac/sanger/artemis/components/alignment/SAMRecordList.java
@@ -0,0 +1,42 @@
+package uk.ac.sanger.artemis.components.alignment;
+
+import java.awt.BorderLayout;
+import java.awt.Graphics;
+import java.util.List;
+
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JScrollBar;
+
+import net.sf.samtools.SAMRecord;
+
+public class SAMRecordList extends JPanel
+{
+  private List<SAMRecord> readsInView;
+  private JScrollBar verticalScroll = new JScrollBar(JScrollBar.VERTICAL);
+  
+  public SAMRecordList(List<SAMRecord> readsInView)
+  {
+    this.readsInView = readsInView;
+    JFrame f = new JFrame("Reads");
+    JPanel mainPanel = (JPanel) f.getContentPane();
+    mainPanel.add(verticalScroll, BorderLayout.EAST);
+    mainPanel.add(this, BorderLayout.CENTER);
+    f.pack();
+    f.setVisible(true);
+  }
+
+  protected void paintComponent(Graphics g)
+  {
+    super.paintComponent(g);
+    for(int i=0; i<readsInView.size(); i++)
+    {
+      SAMRecord thisRead = readsInView.get(i);
+      String readStr = thisRead.getReadName()+"\t"+
+                       thisRead.getAlignmentStart()+".."+thisRead.getAlignmentEnd()+"\t"+
+                       thisRead.getReadLength()+"\t"+
+                       thisRead.getMappingQuality();
+      g.drawString(readStr, 10, ((i+12)*12));
+    }
+  }
+}