diff --git a/java/google/registry/flows/domain/DomainFlowUtils.java b/java/google/registry/flows/domain/DomainFlowUtils.java index aa3ce74c9..31581ef96 100644 --- a/java/google/registry/flows/domain/DomainFlowUtils.java +++ b/java/google/registry/flows/domain/DomainFlowUtils.java @@ -960,8 +960,11 @@ public class DomainFlowUtils { ImmutableSet.Builder recordsBuilder = new ImmutableSet.Builder<>(); if (entryToCancel.isPresent()) { for (DomainTransactionRecord record : entryToCancel.get().getDomainTransactionRecords()) { - int cancelledAmount = -1 * record.getReportAmount(); - recordsBuilder.add(record.asBuilder().setReportAmount(cancelledAmount).build()); + // Only cancel fields which are cancelable + if (cancelableFields.contains(record.getReportField())) { + int cancelledAmount = -1 * record.getReportAmount(); + recordsBuilder.add(record.asBuilder().setReportAmount(cancelledAmount).build()); + } } } return recordsBuilder.build(); diff --git a/javatests/google/registry/flows/domain/DomainDeleteFlowTest.java b/javatests/google/registry/flows/domain/DomainDeleteFlowTest.java index 1981c7d0e..5359ac2bd 100644 --- a/javatests/google/registry/flows/domain/DomainDeleteFlowTest.java +++ b/javatests/google/registry/flows/domain/DomainDeleteFlowTest.java @@ -870,17 +870,20 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase