Index: ec_receipt/ec_receipt.checkout.inc
===================================================================
RCS file: /var/lib/cvs/drupal-common/modules/contrib/ecommerce/ec_receipt/ec_receipt.checkout.inc,v
retrieving revision 1.1.6.2
diff -u -8 -p -u -p -r1.1.6.2 ec_receipt.checkout.inc
--- ec_receipt/ec_receipt.checkout.inc	24 Nov 2009 09:48:27 -0000	1.1.6.2
+++ ec_receipt/ec_receipt.checkout.inc	19 Jan 2010 09:29:54 -0000
@@ -25,17 +25,17 @@ function ec_receipt_checkout_init(&$txn)
     
     if (isset($txn->receipts['payment_filter'])) {
       $filter = $txn->receipts['payment_filter'];
       $filter+= $default_filter;
     }
     else {
       $filter = $default_filter;
     }
-    $txn->receipts['rtypes'] = ec_receipt_type_filter($filter);
+    $txn->receipts['rtypes'] = ec_receipt_type_filter($filter, 'transaction', $txn);
   }
 
   if (isset($_REQUEST['payment_method']) && isset($txn->receipts['rtypes'][$_REQUEST['payment_method']])) {
     $txn->payment_method = $_REQUEST['payment_method'];
   }
   else {
     $types = array_keys($txn->receipts['rtypes']);
     $txn->payment_method = $types[0];
Index: ec_receipt/ec_receipt.module
===================================================================
RCS file: /var/lib/cvs/drupal-common/modules/contrib/ecommerce/ec_receipt/ec_receipt.module,v
retrieving revision 1.1.6.2
diff -u -8 -p -u -p -r1.1.6.2 ec_receipt.module
--- ec_receipt/ec_receipt.module	24 Nov 2009 09:48:27 -0000	1.1.6.2
+++ ec_receipt/ec_receipt.module	19 Jan 2010 09:31:08 -0000
@@ -593,21 +593,25 @@ function ec_receipt_load($erid) {
  *   Return a list of payment gateways which are available for this object.
  */
 function ec_receipt_type_filter($criteria = array(), $type = NULL, $object = NULL) {
   _ec_receipt_filter($criteria, 'init', $type, $object);
 
   return array_filter(ec_receipt_get_types(), '_ec_receipt_filter');
 }
 
-function _ec_receipt_filter($var, $op = 'process', $type = NULL, $object = NULL) {
+function _ec_receipt_filter($var, $op = 'process', $itype = NULL, $iobject = NULL) {
   static $filter = NULL;
+  static $type = NULL;
+  static $object = NULL;
 
   if ($op == 'init') {
     $filter = $var;
+    $type = $itype;
+    $object = $iobject;
     return;
   }
 
   foreach ($filter as $key => $opt) {
     if ($opt === TRUE || $opt === FALSE) {
       $opt = $opt === TRUE ? 1 : 0;
     }
     $value = isset($var->$key) ? $var->$key : array();
