diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultEntitlementUserApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultEntitlementUserApi.java
index 6321d35..baf45f1 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultEntitlementUserApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/DefaultEntitlementUserApi.java
@@ -99,7 +99,7 @@ public class DefaultEntitlementUserApi implements EntitlementUserApi {
String realPriceList = (spec.getPriceListName() == null) ? PriceListSet.DEFAULT_PRICELIST_NAME : spec.getPriceListName();
DateTime now = clock.getUTCNow();
requestedDate = (requestedDate != null) ? DefaultClock.truncateMs(requestedDate) : now;
- if (requestedDate != null && requestedDate.isAfter(now)) {
+ if (requestedDate.isAfter(now)) {
throw new EntitlementUserApiException(ErrorCode.ENT_INVALID_REQUESTED_DATE, requestedDate.toString());
}
DateTime effectiveDate = requestedDate;
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java
index 9899990..e1b1502 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java
@@ -164,7 +164,7 @@ public class SubscriptionApiService {
.setActiveVersion(subscription.getActiveVersion())
.setProcessedDate(now)
.setEffectiveDate(effectiveDate)
- .setRequestedDate(now)
+ .setRequestedDate(requestedDate)
.setFromDisk(true));
dao.cancelSubscription(subscription.getId(), cancelEvent);
@@ -261,7 +261,7 @@ public class SubscriptionApiService {
.setActiveVersion(subscription.getActiveVersion())
.setProcessedDate(now)
.setEffectiveDate(effectiveDate)
- .setRequestedDate(now)
+ .setRequestedDate(requestedDate)
.setFromDisk(true));
TimedPhase nextTimedPhase = planAligner.getNextTimedPhaseOnChange(subscription, newPlan, newPriceList.getName(), requestedDate, effectiveDate);