diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/SubscriptionJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/SubscriptionJson.java
index 491815d..49fac27 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/SubscriptionJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/SubscriptionJson.java
@@ -395,10 +395,17 @@ public class SubscriptionJson extends JsonBase {
this.priceOverrides = new ArrayList<PhasePriceOverrideJson>();
String currentPhaseName = null;
+ String currentPlanName = null;
for (final SubscriptionEvent subscriptionEvent : subscription.getSubscriptionEvents()) {
this.events.add(new EventSubscriptionJson(subscriptionEvent, accountAuditLogs));
if (currency != null) {
+
+ final Plan curPlan = subscriptionEvent.getNextPlan();
+ if (curPlan != null && (currentPlanName == null || !curPlan.getName().equals(currentPlanName))) {
+ currentPlanName = curPlan.getName();
+ }
+
final PlanPhase curPlanPhase = subscriptionEvent.getNextPhase();
if (curPlanPhase == null || curPlanPhase.getName().equals(currentPhaseName)) {
continue;
@@ -407,7 +414,7 @@ public class SubscriptionJson extends JsonBase {
final BigDecimal fixedPrice = curPlanPhase.getFixed() != null ? curPlanPhase.getFixed().getPrice().getPrice(currency) : null;
final BigDecimal recurringPrice = curPlanPhase.getRecurring() != null ? curPlanPhase.getRecurring().getRecurringPrice().getPrice(currency) : null;
- final PhasePriceOverrideJson phase = new PhasePriceOverrideJson(subscriptionEvent.getNextPlan().getName(), curPlanPhase.getName(), curPlanPhase.getPhaseType().toString(), fixedPrice, recurringPrice);
+ final PhasePriceOverrideJson phase = new PhasePriceOverrideJson(currentPlanName, curPlanPhase.getName(), curPlanPhase.getPhaseType().toString(), fixedPrice, recurringPrice);
priceOverrides.add(phase);
}
}