diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/build.sbt b/sbt/src/sbt-test/dependency-management/transitive-excludes/build.sbt
new file mode 100644
index 000000000..5a04d1401
--- /dev/null
+++ b/sbt/src/sbt-test/dependency-management/transitive-excludes/build.sbt
@@ -0,0 +1,28 @@
+
+
+resolvers += {
+ val f = baseDirectory.value / "repository"
+ "local-test-repo" at f.getCanonicalFile.toURI.toASCIIString
+}
+libraryDependencies += "exclude.test" % "app" % "1.0.0"
+
+val checkDependencies = taskKey[Unit]("Checks that dependcies are correct.")
+
+checkDependencies := {
+ val hasBadJar = (fullClasspath in Compile).value.exists { jar => jar.data.getName contains "bottom-1.0.0.jar"}
+ val errorJarString = (fullClasspath in Compile).value.map(_.data.getName).mkString(" * ", "\n * ", "")
+ assert(!hasBadJar, s"Failed to exclude transitive excluded dependency on classpath!\nFound:\n$errorJarString")
+ val modules =
+ (for {
+ c <- update.value.configurations
+ m <- c.modules
+ if !m.evicted
+ } yield m.module).distinct
+ val hasBadDep =
+ modules exists { m =>
+ (m.organization == "exclude.test") && (m.name == "bottom")
+ }
+ val errModuleString = modules.mkString("\n * ", "\n * ", "")
+ assert(!hasBadDep, s"Failed to exclude transitive excluded dependency!\nFound:\n$errModuleString")
+
+}
\ No newline at end of file
diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/app/1.0.0/app-1.0.0.jar b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/app/1.0.0/app-1.0.0.jar
new file mode 100644
index 000000000..e69de29bb
diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/app/1.0.0/app-1.0.0.pom b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/app/1.0.0/app-1.0.0.pom
new file mode 100644
index 000000000..ba115f816
--- /dev/null
+++ b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/app/1.0.0/app-1.0.0.pom
@@ -0,0 +1,17 @@
+
+ 4.0.0
+ exclude.test
+ app
+ jar
+ 1.0.0
+ app
+ http://maven.apache.org
+
+
+ exclude.test
+ top
+ 1.0.0
+
+
+
\ No newline at end of file
diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/bottom/1.0.0/bottom-1.0.0.jar b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/bottom/1.0.0/bottom-1.0.0.jar
new file mode 100644
index 000000000..e69de29bb
diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/bottom/1.0.0/bottom-1.0.0.pom b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/bottom/1.0.0/bottom-1.0.0.pom
new file mode 100644
index 000000000..757ce6d6a
--- /dev/null
+++ b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/bottom/1.0.0/bottom-1.0.0.pom
@@ -0,0 +1,12 @@
+
+ 4.0.0
+ exclude.test
+ bottom
+ jar
+ 1.0.0
+ bottom
+ http://maven.apache.org
+
+
+
\ No newline at end of file
diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/middle/1.0.0/middle-1.0.0.jar b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/middle/1.0.0/middle-1.0.0.jar
new file mode 100644
index 000000000..e69de29bb
diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/middle/1.0.0/middle-1.0.0.pom b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/middle/1.0.0/middle-1.0.0.pom
new file mode 100644
index 000000000..fe6e0c993
--- /dev/null
+++ b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/middle/1.0.0/middle-1.0.0.pom
@@ -0,0 +1,17 @@
+
+ 4.0.0
+ exclude.test
+ middle
+ jar
+ 1.0.0
+ middle
+ http://maven.apache.org
+
+
+ exclude.test
+ bottom
+ 1.0.0
+
+
+
\ No newline at end of file
diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/top/1.0.0/top-1.0.0.jar b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/top/1.0.0/top-1.0.0.jar
new file mode 100644
index 000000000..e69de29bb
diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/top/1.0.0/top-1.0.0.pom b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/top/1.0.0/top-1.0.0.pom
new file mode 100644
index 000000000..912f10b7a
--- /dev/null
+++ b/sbt/src/sbt-test/dependency-management/transitive-excludes/repository/exclude/test/top/1.0.0/top-1.0.0.pom
@@ -0,0 +1,23 @@
+
+ 4.0.0
+ exclude.test
+ top
+ jar
+ 1.0.0
+ top
+ http://maven.apache.org
+
+
+ exclude.test
+ middle
+ 1.0.0
+
+
+ exclude.test
+ middle
+
+
+
+
+
\ No newline at end of file
diff --git a/sbt/src/sbt-test/dependency-management/transitive-excludes/test b/sbt/src/sbt-test/dependency-management/transitive-excludes/test
new file mode 100644
index 000000000..c579cedc3
--- /dev/null
+++ b/sbt/src/sbt-test/dependency-management/transitive-excludes/test
@@ -0,0 +1 @@
+> checkDependencies
\ No newline at end of file