diff --git a/core/src/main/resources/hudson/maven/MavenModuleSet/configure-entries.jelly b/core/src/main/resources/hudson/maven/MavenModuleSet/configure-entries.jelly
index df17f92f2f744bbc5835ec31cded1ac66954dd48..d74ac54284d81c0675d5997f7ef12fefc83643fa 100644
--- a/core/src/main/resources/hudson/maven/MavenModuleSet/configure-entries.jelly
+++ b/core/src/main/resources/hudson/maven/MavenModuleSet/configure-entries.jelly
@@ -10,6 +10,7 @@
help="/help/maven/ignore-upstrem-changes.html"
title="${%Build whenever a SNAPSHOT dependency is built}"
checked="${h.defaultToTrue(!it.ignoreUpstremChanges())}" />
+
diff --git a/test/src/test/java/hudson/bugs/seasar/Operation2174Test.java b/test/src/test/java/hudson/bugs/seasar/Operation2174Test.java
new file mode 100644
index 0000000000000000000000000000000000000000..3789f93459f05deef75ac64c3367fe2b465e82a6
--- /dev/null
+++ b/test/src/test/java/hudson/bugs/seasar/Operation2174Test.java
@@ -0,0 +1,52 @@
+package hudson.bugs.seasar;
+
+import com.gargoylesoftware.htmlunit.html.HtmlButton;
+import com.gargoylesoftware.htmlunit.html.HtmlForm;
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import hudson.maven.MavenModuleSet;
+import hudson.model.FreeStyleProject;
+import hudson.tasks.BuildTrigger;
+import org.jvnet.hudson.test.HudsonTestCase;
+
+import java.util.Collections;
+
+/**
+ * See http://ml.seasar.org/archives/operation/2008-November/004003.html
+ *
+ * @author Kohsuke Kawaguchi
+ */
+public class Operation2174Test extends HudsonTestCase {
+ /**
+ * Upstream/downstream relationship lost.
+ */
+ public void testBuildChains() throws Exception {
+ FreeStyleProject up = createFreeStyleProject("up");
+ MavenModuleSet dp = createMavenProject("dp");
+
+ // designate 'dp' as the downstream in 'up'
+ WebClient webClient = new WebClient();
+ HtmlPage page = webClient.getPage(up,"configure");
+
+ HtmlForm form = page.getFormByName("config");
+
+ // configure downstream build
+ form.getInputByName(BuildTrigger.DESCRIPTOR.getJsonSafeClassName()).click();
+ form.getInputByName("buildTrigger.childProjects").setValueAttribute("dp");
+
+ form.submit((HtmlButton)last(form.getHtmlElementsByTagName("button")));
+
+ // verify that the relationship is set up
+ BuildTrigger trigger = (BuildTrigger) up.getPublishersList().get(BuildTrigger.DESCRIPTOR);
+ assertEquals(trigger.getChildProjects(), Collections.singletonList(dp));
+
+ // now go ahead and edit the downstream
+ page = webClient.getPage(dp,"configure");
+ form = page.getFormByName("config");
+ form.submit((HtmlButton)last(form.getHtmlElementsByTagName("button")));
+
+ // verify that the relationship is set up
+ trigger = (BuildTrigger) up.getPublishersList().get(BuildTrigger.DESCRIPTOR);
+ assertNotNull(trigger);
+ assertEquals(trigger.getChildProjects(), Collections.singletonList(dp));
+ }
+}
diff --git a/test/src/test/java/hudson/bugs/seasar/package-info.java b/test/src/test/java/hudson/bugs/seasar/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..875e2ef42ab2300daeb5cff53e035b22ebd03966
--- /dev/null
+++ b/test/src/test/java/hudson/bugs/seasar/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Bugs discovered in https://www.seasar.org/hudson/
+ */
+package hudson.bugs.seasar;
\ No newline at end of file