Index: program/include/main.inc
===================================================================
--- program/include/main.inc	(revision 6e47c0be5c3b59cedbda8da8d708e69534964de2)
+++ program/include/main.inc	(revision c21d6d713e0320b7b61bff1fa0e05bbd250455bb)
@@ -348,4 +348,6 @@
 
     $xml_rep_table['"'] = '&quot;';
+    $js_rep_table['"'] = '\\"';
+    $js_rep_table["'"] = "\\'";
     }
 
@@ -360,5 +362,5 @@
       $str = rcube_charset_convert($str, RCMAIL_CHARSET,$charset);
       
-    return preg_replace(array("/\r?\n/", "/\r/", '/<\\//'), array('\n', '\n', '<\\/'), addslashes(strtr($str, $js_rep_table)));
+    return preg_replace(array("/\r?\n/", "/\r/", '/<\\//'), array('\n', '\n', '<\\/'), strtr($str, $js_rep_table));
     }
 
Index: program/steps/mail/get.inc
===================================================================
--- program/steps/mail/get.inc	(revision 0dbac3218130dfe418d6c7dc162f819c746bec2d)
+++ program/steps/mail/get.inc	(revision c21d6d713e0320b7b61bff1fa0e05bbd250455bb)
@@ -91,5 +91,5 @@
       $filename = $part->filename ? $part->filename : ($MESSAGE->subject ? $MESSAGE->subject : 'roundcube') . '.'.$ctype_secondary;
       $filename = abbreviate_string($part->filename, 55);
-      $filename = $browser->ie ? rawurlencode($filename) : addslashes($filename);
+      $filename = $browser->ie ? rawurlencode($filename) : addcslashes($filename, '"');
       $disposition = !empty($_GET['_download']) ? 'attachment' : 'inline';
       
