diff --git a/uk/ac/sanger/artemis/components/alignment/FileSelectionDialog.java b/uk/ac/sanger/artemis/components/alignment/FileSelectionDialog.java
index 1e9d24519c6293a5bab658a2d3e4820e646ac05e..c5944bfff3645faed7bcc9f72b8ae9a2cda94bd5 100644
--- a/uk/ac/sanger/artemis/components/alignment/FileSelectionDialog.java
+++ b/uk/ac/sanger/artemis/components/alignment/FileSelectionDialog.java
@@ -29,6 +29,7 @@ import javax.swing.JPanel;
 import javax.swing.JTextField;
 
 import uk.ac.sanger.artemis.components.StickyFileChooser;
+import uk.ac.sanger.artemis.components.variant.VCFview;
 
 /**
  * File selection panel to allow input of DNA sequences
@@ -66,14 +67,14 @@ public class FileSelectionDialog extends JDialog
   {
     super(f, program+" :: Select Files", true);
 
-    addBamField(fileType);
+    addBamField(fileType, null);
     
     JButton addMoreFiles = new JButton("Add More");
     addMoreFiles.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
-        addBamField(fileType);
+        addBamField(fileType, null);
       }
     });
     
@@ -90,7 +91,7 @@ public class FileSelectionDialog extends JDialog
       c.gridy = ++row;
       dialog.add(referenceField, c);
       JButton selectReference = new JButton("Select...");
-      addActionListener(selectReference, referenceField);
+      addActionListener(selectReference, referenceField, fileType);
       c.gridx = 1;
       dialog.add(selectReference, c);
     }
@@ -120,11 +121,13 @@ public class FileSelectionDialog extends JDialog
    * Add a text field to the dialog for adding in a path
    * to a BAM file.
    */
-  private void addBamField(String fileType)
+  private void addBamField(String fileType, String fileName)
   {
     JTextField bamField = new JTextField(30);
     bamFields.add(bamField);
     
+    if(fileName != null)
+      bamField.setText(fileName);
     bamField.setPreferredSize(
         new Dimension(200,bamField.getPreferredSize().height));
     c.gridy = row;
@@ -135,7 +138,7 @@ public class FileSelectionDialog extends JDialog
     dialog.add(bamField, c);
     c.gridx = 1;
     JButton selectBam = new JButton("Select...");
-    addActionListener(selectBam, bamField);
+    addActionListener(selectBam, bamField, fileType);
     dialog.add(selectBam, c);
     
     pack();
@@ -145,19 +148,51 @@ public class FileSelectionDialog extends JDialog
    * Add action listener to a button.
    * @param fileSelectionButton
    * @param tfield
+   * @param fileType
    */
   private void addActionListener(final JButton fileSelectionButton, 
-                                 final JTextField tfield)
+                                 final JTextField tfield,
+                                 final String fileType)
   {
+    final javax.swing.filechooser.FileFilter filter =
+        new javax.swing.filechooser.FileFilter()
+    {
+      public boolean accept(final File file) 
+      {
+        if(file.isDirectory() ||
+           file.getName().matches(VCFview.VCFFILE_SUFFIX) ||
+           file.getName().matches(BamView.BAM_SUFFIX))
+          return true;
+        return false;
+      }
+
+      public String getDescription() 
+      {
+        return "BAM / VCF files";
+      }
+    };
+    
     fileSelectionButton.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
         StickyFileChooser fileChooser = new StickyFileChooser();
+        fileChooser.setMultiSelectionEnabled(true);
+        fileChooser.setFileFilter(filter);
+        
         int status = fileChooser.showOpenDialog(null);
         if(status == StickyFileChooser.CANCEL_OPTION)
           return;
-        tfield.setText(fileChooser.getSelectedFile().getAbsolutePath());
+        
+        
+        File[] files = fileChooser.getSelectedFiles();
+        tfield.setText(files[0].getAbsolutePath());
+        
+        if(files.length > 1)
+        {
+          for(int i=1; i<files.length; i++)
+            addBamField(fileType, files[i].getAbsolutePath());
+        }
       }
     });
   }
@@ -319,4 +354,5 @@ public class FileSelectionDialog extends JDialog
   {
     return referenceField.getText();
   }
+      
 }
\ No newline at end of file