diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_download.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_download.xml
index 845433f1a99f31a87c0c2e0109e00e96565a70fa..b2b7482254dd5f964b784ac433e841f665010ab0 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_download.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_download.xml
@@ -73,7 +73,8 @@ if hasattr(context,\'getContentType\'):\n
   request.RESPONSE.setHeader(\'Content-type\', context.getContentType())\n
 else:\n
   request.RESPONSE.setHeader(\'Content-type\', context.getFormat())\n
-request.RESPONSE.setHeader(\'Content-disposition\', \'attachment;; filename="%s"\' % context.title_or_id())\n
+file_name = context.getTitle() or context.getSourceReference()\n
+request.RESPONSE.setHeader(\'Content-disposition\', \'attachment;; filename="%s"\' % file_name)\n
 return context.manage_FTPget()\n
 </string> </value>
         </item>
@@ -121,6 +122,7 @@ return context.manage_FTPget()\n
                             <string>context</string>
                             <string>request</string>
                             <string>hasattr</string>
+                            <string>file_name</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index c6876402f55fcc4178060d4f0b5d16a8e23a5c96..ac7cd1ac708f39a4800c68c43a53d17b65a2ce07 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-278
\ No newline at end of file
+279
\ No newline at end of file