diff --git a/CRM/Grant/BAO/GrantPayment.php b/CRM/Grant/BAO/GrantPayment.php
index 3d7a179c9fcb14ffddf7ec5e76bb837d6a9674c8..f1b019b3401e397f1b512a3866b91ac348a9a785 100755
--- a/CRM/Grant/BAO/GrantPayment.php
+++ b/CRM/Grant/BAO/GrantPayment.php
@@ -310,13 +310,6 @@ class CRM_Grant_BAO_GrantPayment extends CRM_Grant_DAO_GrantPayment {
     fputs($fp, $line);
     fclose($fp);
   }
- 
-  static function replaceVariables($html, $values) {
-    foreach ($values as $key => $value) {
-      $html = str_replace($key, $value, $html);
-    }
-    return $html;
-  }
   
   static function makePDF($fileName, $rows) {
     $config = CRM_Core_Config::singleton();
@@ -334,20 +327,20 @@ class CRM_Grant_BAO_GrantPayment extends CRM_Grant_DAO_GrantPayment {
     }
     $subject = $grantDao->subject;
     $html = $grantDao->html;
-
-    $final_html = NULL;
-    foreach ($rows as $values) {
-      $words = new CRM_Grant_Words();
-      $amount = $values['amount'];
-      $values['check_total'] = ltrim($amount, '$');
-      $amount = str_replace (',', '', $amount);
-      $values['total_in_words'] = ucwords($words->convert_number_to_words(ltrim($amount, '$')));
-      $final_html .= self::replaceVariables($html, $values) . "<br>";
+    $text = $grantDao->text;
+    $format = $grantDao->format;
+    $grantDao->free();
+    
+    civicrm_smarty_register_string_resource();
+    $smarty = CRM_Core_Smarty::singleton();
+    foreach(array('text', 'html') as $elem) {
+      $$elem = $smarty->fetch("string:{$$elem}");
     }
+    
     $output = file_put_contents( 
       $pdf_filename, 
       CRM_Utils_PDF_Utils::html2pdf( 
-        $final_html,
+        $html,
         $fileName,
         TRUE,
         'Letter'
diff --git a/CRM/Grant/Form/Task/GrantPayment.php b/CRM/Grant/Form/Task/GrantPayment.php
index 5e8502c762747e87567054ca94b26b3fc43947de..8ffb3ea4b12b9f500f5c71ccd9ff1d417452e788 100755
--- a/CRM/Grant/Form/Task/GrantPayment.php
+++ b/CRM/Grant/Form/Task/GrantPayment.php
@@ -213,6 +213,7 @@ class CRM_Grant_Form_Task_GrantPayment extends CRM_Core_Form {
       }
     }
     $totalAmount = 0;
+    $words = new CRM_Grant_Words();
     foreach ($details as $id => $value) {
       $grantPayment[$id]['contact_id'] = $id;
       $grantPayment[$id]['financial_type_id'] = $values['financial_type_id'];
@@ -253,9 +254,9 @@ class CRM_Grant_Form_Task_GrantPayment extends CRM_Core_Form {
       require_once 'CRM/Grant/Words.php';
       $words = new CRM_Grant_Words();
       $amountInWords = ucwords($words->convert_number_to_words($values['amount']));
-      $values['total_in_words'] = $grantValues['total_in_words'] = $amountInWords;
+      $grantPayment[$grantKey]['total_in_words'] = $values['total_in_words'] = $grantValues['total_in_words'] = $amountInWords;
       $result = CRM_Grant_BAO_GrantPayment::add( &$values, $ids = array());
-      $grantPayment[$grantKey]['amount'] = CRM_Utils_Money::format($values['amount'], NULL, NULL,FALSE);
+      $grantPayment[$grantKey]['amount'] = $values['amount'];
       $contactPayments[$grantKey] = $result->id;
       unset($grantPayment[$grantKey]['payment_status_id']);
       if ($makePdf) {
@@ -265,6 +266,7 @@ class CRM_Grant_Form_Task_GrantPayment extends CRM_Core_Form {
         
     $downloadName = check_plain('grantPayment');
     $downloadName .= '_'.date('Ymdhis');
+    $this->assign('grantPayment', $grantPayment);
     if (!$makePdf)  {
       $downloadName .= '.csv';
       $fileName = CRM_Utils_File::makeFileName($downloadName);
@@ -282,7 +284,6 @@ class CRM_Grant_Form_Task_GrantPayment extends CRM_Core_Form {
     $this->assign('account_name',CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialType', $values['financial_type_id'], 'name'));
     $this->assign('batch_number', $values['payment_batch_number']);
     $this->assign('contact',CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $_SESSION[ 'CiviCRM' ][ 'userID' ], 'display_name'));
-    $this->assign('grantPayment', $grantPayment);
     $this->assign('total_payments', count($grantPayment));
     $this->assign('total_amount' , CRM_Utils_Money::format($totalAmount, NULL, NULL,FALSE));
     $this->assign('domain_name', CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Domain', CRM_Core_Config::domainID(), 'name'));
diff --git a/sql/message_templates/grant_payment_check_html.tpl b/sql/message_templates/grant_payment_check_html.tpl
index f55a517c90eb305d2fcb348a42601c0e50513de5..b2c742f7f20e4928524abcdd613331fb1a07403f 100644
--- a/sql/message_templates/grant_payment_check_html.tpl
+++ b/sql/message_templates/grant_payment_check_html.tpl
@@ -4,57 +4,59 @@
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title></title>
   </head>
+ {foreach from=$grantPayment key=key item=data}
   <body >
     <div style="height:140px" >
-    <div style="float:right; text-align:right; margin-top:-40px;"> payment_id </div>
+    <div style="float:right; text-align:right; margin-top:-40px;">{$data.payment_id}</div>
     <table width="100%" cellpadding=0 cellspacing=0 ; style="margin-top:40px;">
       <tr>
-        <td width="85%"></td><td width="15%" style="float:right; text-align:right;">payment_date</td>
+        <td width="85%"></td><td width="15%" style="float:right; text-align:right;">{$data.payment_date}</td>
       </tr>
       <tr>
-        <td width="85%">total_in_words</td><td width="15%" style="float:right; text-align:right;">check_total</td>
-      </tr>
+        <td width="85%">{$data.total_in_words}</td><td width="15%" style="float:right; text-align:right;">{$data.amount|crmMoney:$data.currency}</td>
+      </tr> 
       </table>
       </div>
       <div style="height:60px" >
       <table width="100%" cellpadding=0 cellspacing=0 ;">
       <tr>
-         <td width="100%">payable_to_name</td>
-      </tr>
+         <td width="100%">{$data.payable_to_name}</td>
+      </tr> 
       <tr>
-         <td width="100%">payable_to_address</td>
+         <td width="100%">{$data.payable_to_address}</td>
       </tr>
     </table>
     </div>
   <div style="height:100px" >
     <table width="100%" cellpadding=0 cellspacing=0 ;>
        <tr>
-         <td width="100%">RE: payment_reason</td>
+         <td width="100%">RE: {$data.payment_reason}</td>
       </tr>
     </table>
     </div>
     <div style="height:300px" >
-    <div style="float:right; text-align:right;"> payment_id </div>
+    <div style="float:right; text-align:right;">{$data.payment_id}</div>
      <table width="100%"  cellpadding=0 cellspacing=0 >
-       <tr><td width="100%" colspan="4">RE: payment_reason</td></tr>
+       <tr><td width="100%" colspan="4">RE: {$data.payment_reason}</td></tr>
        <tr><td width="15%">Payment Date</td><td width="15%">Grant ID</td><td width="50%">Payee</td><td width="20%">Amount</td></tr>
-       <tr><td width="15%">payment_details</td> </tr>
+       <tr><td width="15%">{$data.payment_details}</td> </tr> 
       <tr>
-      <td width="15%"></td><td width="15%%"></td><td width="50%" style="text-align:right;" >Total Amount&nbsp;&nbsp;&nbsp;&nbsp;</td><td width="15%"  >currency amount</td>
-      </tr>
+      <td width="15%"></td><td width="15%%"></td><td width="50%" style="text-align:right;" >Total Amount&nbsp;&nbsp;&nbsp;&nbsp;</td><td width="15%"  >CAD: {$data.amount|crmMoney:$data.currency}</td>
+      </tr> 
      </table>
    </div>
     <div style="height:265px" >
-   <div style="float:right; text-align:right;"> payment_id </div>
+   <div style="float:right; text-align:right;"> {$data.payment_id} </div>
     <table width="100%"  cellpadding=0 cellspacing=0 >
-      <tr><td width="100%" colspan="4">RE: payment_reason</td></tr>
+      <tr><td width="100%" colspan="4">RE: {$data.payment_reason}</td></tr>
       <tr><td width="15%">Payment Date</td><td width="15%">Grant ID</td><td width="50%">Payee</td><td width="20%">Amount</td></tr>
-      <tr><td width="15%">payment_details</td>
-      </tr>
+      <tr><td width="15%">{$data.payment_details}</td>
+      </tr> 
       <tr>
-      <td width="15%"></td><td width="15%%"></td><td width="50%" style="text-align:right; ">Total Amount&nbsp;&nbsp;&nbsp;&nbsp;</td><td width="20%"  >currency amount</td>
-      </tr>
+      <td width="15%"></td><td width="15%%"></td><td width="50%" style="text-align:right; ">Total Amount&nbsp;&nbsp;&nbsp;&nbsp;</td><td width="20%"  >CAD: {$data.amount|crmMoney:$data.currency}</td>
+      </tr> 
     </table>
     </div>
   </body>
+{/foreach}
 </html>
\ No newline at end of file