diff --git a/product/ERP5/tests/testResource.py b/product/ERP5/tests/testResource.py
index 3d57430726c304a7cd4338d604575c3d73029d5c..534a4f9723f65ba74a42ae08746d7505acbce635 100644
--- a/product/ERP5/tests/testResource.py
+++ b/product/ERP5/tests/testResource.py
@@ -687,16 +687,11 @@ class TestResource(ERP5TypeTestCase):
     # Create product
     product_module = self.portal.getDefaultModule(self.product_portal_type)
     supply_module = self.portal.getDefaultModule(self.sale_supply_portal_type)
-    currency_module = self.portal.getDefaultModule("Currency")
-    currency = currency_module.newContent(
-                     portal_type="Currency",
-                     title='A great currency')
     # Create generic supply
     self.logMessage("Creating generic fake supply ...", tab=1)
     generic_supply = supply_module.newContent(
                      portal_type=self.sale_supply_portal_type,
-                     title='FakeGenericSupply',
-                     price_currency_value=currency)
+                     title='FakeGenericSupply',)
     # Create empty supply line
     supply_line = generic_supply.newContent(
           portal_type=self.sale_supply_line_portal_type)
@@ -718,7 +713,6 @@ class TestResource(ERP5TypeTestCase):
         supply = supply_module.newContent(
                                      portal_type=self.sale_supply_portal_type,
                                      title='FakeSupply%s' % i,
-                                     price_currency_value=currency,
                                      destination_section_value=node)
         self.logMessage("Creating fake supply line %s..." % i, tab=1)
         supply_line = supply.newContent(
@@ -769,16 +763,11 @@ class TestResource(ERP5TypeTestCase):
     # Create product
     product_module = self.portal.getDefaultModule(self.product_portal_type)
     supply_module = self.portal.getDefaultModule(self.sale_supply_portal_type)
-    currency_module = self.portal.getDefaultModule("Currency")
-    currency = currency_module.newContent(
-                     portal_type="Currency",
-                     title='A great currency')
     # Create generic supply
     self.logMessage("Creating generic fake supply ...", tab=1)
     generic_supply = supply_module.newContent(
                      portal_type=self.sale_supply_portal_type,
-                     title='FakeGenericSupply',
-                     price_currency_value=currency)
+                     title='FakeGenericSupply',)
     # Create empty supply line
     supply_line = generic_supply.newContent(
           portal_type=self.sale_supply_line_portal_type)
@@ -802,7 +791,6 @@ class TestResource(ERP5TypeTestCase):
         supply = supply_module.newContent(
                                      portal_type=self.sale_supply_portal_type,
                                      title='FakeSupply%s' % i,
-                                     price_currency_value=currency,
                                      destination_section_value=node)
 
         if 0:
@@ -891,10 +879,7 @@ class TestResource(ERP5TypeTestCase):
     currency_module = self.getCurrencyModule()
     sale_order_module = self.portal.getDefaultModule("Sale Order")
     purchase_order_module = self.portal.getDefaultModule("Purchase Order")
-    # Create currency and product
-    currency = currency_module.newContent(
-                     portal_type="Currency",
-                     title='A great currency')
+    # Create product
     product = product_module.newContent(
         portal_type=self.product_portal_type,
         title="yet another product")
@@ -987,6 +972,40 @@ class TestResource(ERP5TypeTestCase):
     self.assertEquals(1, sale_order_line.getPrice())
     self.assertEquals(5000, sale_order_line.getTotalPrice())
 
+  def testGetPriceWithPriceCurrency(self):
+    currency_module = self.portal.getDefaultModule("Currency")
+    currency = currency_module.newContent(
+                     portal_type="Currency",
+                     title='A great currency')
+    other_currency = currency_module.newContent(
+                     portal_type="Currency",
+                     title='Another currency')
+
+    resource = self.portal.getDefaultModule(self.product_portal_type)\
+                .newContent(portal_type=self.product_portal_type)
+    resource.setDefaultQuantityUnitValue(self.quantity_unit_kilo)
+    supply_line = resource.newContent(
+                    portal_type=self.sale_supply_line_portal_type)
+    supply_line.setBasePrice(1000)
+    supply_line.setPriceCurrencyValue(currency)
+    transaction.commit()
+    self.tic()
+    sale_order = self.portal.getDefaultModule("Sale Order").newContent(
+                              portal_type='Sale Order',
+                              price_currency_value=other_currency)
+    sale_order_line = sale_order.newContent(
+                          resource_value=resource,
+                          quantity=5)
+    # order and supply lines uses different currency, price does not apply
+    self.assertEquals(None, sale_order_line.getPrice())
+    
+    # set the same currency
+    sale_order.setPriceCurrencyValue(currency)
+
+    # price applies
+    self.assertEquals(1000, sale_order_line.getPrice())
+    self.assertEquals(5000, sale_order_line.getTotalPrice())
+    
   def testQuantityPrecision(self):
     """test how to define quantity precision on resources.
     """