diff --git a/src/main/java/jenkins/branch/MultiBranchProject.java b/src/main/java/jenkins/branch/MultiBranchProject.java
index 901c3710..debd2073 100644
--- a/src/main/java/jenkins/branch/MultiBranchProject.java
+++ b/src/main/java/jenkins/branch/MultiBranchProject.java
@@ -89,7 +89,7 @@ public abstract class MultiBranchProject
& TopLevelItem,
/**
* The user supplied branch sources.
*/
- private /*almost final*/ PersistedList sources = new PersistedList(this);
+ private /*almost final*/ PersistedList sources = new BranchSourceList(this);
/**
* The source for dead branches.
@@ -675,4 +675,20 @@ public static String rawDecode(@NonNull String s) {
}
}
+ private static class BranchSourceList extends PersistedList {
+
+ BranchSourceList(MultiBranchProject,?> owner) {
+ super(owner);
+ }
+
+ @Override
+ protected void onModified() throws IOException {
+ super.onModified();
+ for (BranchSource branchSource : this) {
+ branchSource.getSource().setOwner((MultiBranchProject) owner);
+ }
+ }
+
+ }
+
}