diff --git a/packages/vtiger/optional/CustomerPortal.zip b/packages/vtiger/optional/CustomerPortal.zip
index d81610c26a208ca3563d9e7fb607064b57d7700a..ac46c5b1c6d6793ca69c6ae251469ddaa1b45765 100644
Binary files a/packages/vtiger/optional/CustomerPortal.zip and b/packages/vtiger/optional/CustomerPortal.zip differ
diff --git a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php
index c8260dda8db6e8922a0d84fe144430c510e00b4b..110b6141249dabbffb95e0aa41b2fc0231c6e01a 100644
--- a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php
+++ b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/DownloadFile.php
@@ -63,18 +63,22 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract {
 				$fileres = $adb->pquery($fileidQuery, array($id));
 				$fileid = $adb->query_result($fileres, 0, 'attachmentsid');
 
-				$filepathQuery = 'SELECT path,name FROM vtiger_attachments WHERE attachmentsid = ?';
-				$fileres = $adb->pquery($filepathQuery, array($fileid));
-				$filepath = $adb->query_result($fileres, 0, 'path');
-				$filename = $adb->query_result($fileres, 0, 'name');
-				$filename = decode_html($filename);
+				$filepathQuery = 'SELECT path,name,storedname FROM vtiger_attachments WHERE attachmentsid = ?';
+                                $fileres = $adb->pquery($filepathQuery, array($fileid));
+                                $filepath = $adb->query_result($fileres, 0, 'path');
+                                if($adb->query_result($fileres, 0, 'storedname')) { 
+                                    $filename = $adb->query_result($fileres, 0, 'storedname');
+                                } else {
+                                    $filename = $adb->query_result($fileres, 0, 'name');
+                                }
+                                $realfilename = decode_html($adb->query_result($fileres, 0, 'name'));
 
-				$saved_filename = $fileid."_".$filename;
-				$filenamewithpath = $filepath.$saved_filename;
-				$filesize = filesize($filenamewithpath);
-				$fileDetails = array();
-				$fileDetails['fileid'] = $fileid;
-				$fileDetails['filename'] = $filename;
+                                $saved_filename = $fileid."_".$filename;
+                                $filenamewithpath = $filepath.$saved_filename;
+                                $filesize = filesize($filenamewithpath);
+                                $fileDetails = array();
+                                $fileDetails['fileid'] = $fileid;
+                                $fileDetails['filename'] = $realfilename;
 				$fileDetails['filetype'] = $filetype;
 				$fileDetails['filesize'] = $filesize;
 				$fileDetails['filecontents'] = base64_encode(file_get_contents($filenamewithpath));
@@ -86,8 +90,13 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract {
 				//construct path for attachment and get file size and type details
 				$attachmentDetails = $rawAttachmentDetails[0];
 				$fileid = $attachmentDetails['attachmentsid'];
-				$filename = $attachmentDetails['name'];
+                                $filename = $attachmentDetails['storedname'];
+                                if(empty($filename)){
+                                    $filename = $attachmentDetails['name'];
+                                }
 				$filepath = $attachmentDetails['path'];
+                                $realfilename = decode_html($attachmentDetails['name']);
+                                
 				$saved_filename = $fileid."_".$filename;
 				$filenamewithpath = $filepath.$saved_filename;
 				$filesize = filesize($filenamewithpath);
@@ -96,7 +105,7 @@ class CustomerPortal_DownloadFile extends CustomerPortal_API_Abstract {
 				//Construct array with all attachment details
 				$fileDetails = array();
 				$fileDetails['fileid'] = $fileid;
-				$fileDetails['filename'] = $filename;
+				$fileDetails['filename'] = $realfilename;
 				$fileDetails['filetype'] = $filetype;
 				$fileDetails['filesize'] = $filesize;
 				$fileDetails['filecontents'] = base64_encode(file_get_contents($filenamewithpath));