diff --git a/uk/ac/sanger/artemis/components/SearchResultViewer.java b/uk/ac/sanger/artemis/components/SearchResultViewer.java
index ff26a531179651ba759fd0dd42fd089f2cd4f9a8..5c1f76d843ba1432a70a0fda304bdf60ee683c92 100644
--- a/uk/ac/sanger/artemis/components/SearchResultViewer.java
+++ b/uk/ac/sanger/artemis/components/SearchResultViewer.java
@@ -29,6 +29,7 @@ import uk.ac.sanger.artemis.ExternalProgram;
 import uk.ac.sanger.artemis.ExternalProgramException;
 import uk.ac.sanger.artemis.Options;
 import uk.ac.sanger.artemis.util.Document;
+import uk.ac.sanger.artemis.util.ZipFileDocument;
 
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -83,9 +84,14 @@ public class SearchResultViewer extends FileViewer
     {
       public void actionPerformed(ActionEvent event) 
       {
+        String fileName = document.toString();
         try 
         {
-          sendToBrowser(document.toString());
+          if(document instanceof ZipFileDocument)
+            fileName = ((ZipFileDocument)document).writeTmpFile(
+                SearchResultViewer.this.getText());
+          
+          sendToBrowser(fileName);
         }
         catch (IOException e) 
         {
diff --git a/uk/ac/sanger/artemis/components/ViewMenu.java b/uk/ac/sanger/artemis/components/ViewMenu.java
index 4572ddc307409940afaa3c1fde4ec2329bfa89c1..9b9c5134048709fc4eccfaadd95d0f6e09f5345b 100644
--- a/uk/ac/sanger/artemis/components/ViewMenu.java
+++ b/uk/ac/sanger/artemis/components/ViewMenu.java
@@ -1463,7 +1463,7 @@ public class ViewMenu extends SelectionMenu
           else
           {
             new SearchResultViewer(program_name + " results for "
-                + this_feature.getIDString() + " from " + document, document);
+                + this_feature.getIDString() + " from " + document.getName(), document);
           }
         }
         catch(ExternalProgramException e)