diff --git a/process/Product_lib/process.js b/process/Product_lib/process.js
index 462c4f7240aa681c309fdb7f17f9c9fdb0f56f11..4d5c93b08c4cce458a872e93c6955c99207d1d51 100644
--- a/process/Product_lib/process.js
+++ b/process/Product_lib/process.js
@@ -187,8 +187,11 @@ ProductUtils.getProductDetails = function(pid, priceListFilter, additionalProduc
                     + db.translateCondition(SqlCondition.begin()
                                .and("validPP.PRODUCT_ID = PRODUCTID")
                                .andPrepare(["PRODUCTPRICE", "CURRENCY", "validPP"], priceListFilter.currency)
-                               .andPrepare(["PRODUCTPRICE", "VALID_FROM", "validPP"], datetime.date().toString(), "# <= ?")
-                               .andPrepare(["PRODUCTPRICE", "VALID_TO", "validPP"], datetime.date().toString(), "# >= ?")
+                                .andPrepare(["PRODUCTPRICE", "VALID_FROM", "validPP"], datetime.date().toString(), "# <= ?")
+                                .andSqlCondition(SqlCondition.begin()
+                                    .andPrepare(["PRODUCTPRICE", "VALID_TO", "validPP"], datetime.date().toString(), "# >= ?")
+                                    .or("validPP.VALID_TO is null")
+                                )
                                .andPrepare(["PRODUCTPRICE", "FROMQUANTITY", "validPP"], priceListFilter.quantity, "# <= ?")
                                .andSqlCondition(SqlCondition.begin()
                                     .orPrepare(["PRODUCTPRICE", "CONTACT_ID", "validPP"], priceListFilter.relationId)
@@ -251,7 +254,6 @@ ProductUtils.getProductDetails = function(pid, priceListFilter, additionalProduc
 
     if (validPriceLists)
         ProductDetails.PriceListToUse = _getPriceListToUse(ProductDetails.CurrentValidPriceLists, priceListFilter);
-
     return ProductDetails;
 
     function _getPriceListObject() {