diff --git a/cabal-install/tests/PackageTests.hs b/cabal-install/tests/PackageTests.hs
index fabc213fa429dfbff9202c654888df19fed577ce..24f1bb454b3fe72e5d54a2e5dc39e99a950ce67d 100644
--- a/cabal-install/tests/PackageTests.hs
+++ b/cabal-install/tests/PackageTests.hs
@@ -26,6 +26,7 @@ import Test.Framework (Test, defaultMain, testGroup)
 -- Modules containing the tests.
 import qualified PackageTests.Exec.Check
 import qualified PackageTests.Freeze.Check
+import qualified PackageTests.MultipleSource.Check
 
 -- List of tests to run. Each test will be called with the path to the
 -- cabal binary to use.
@@ -33,6 +34,7 @@ tests :: FilePath -> FilePath -> [Test]
 tests cabalPath ghcPkgPath =
     [ testGroup "Freeze" $ PackageTests.Freeze.Check.tests cabalPath
     , testGroup "Exec"   $ PackageTests.Exec.Check.tests cabalPath ghcPkgPath
+    , testGroup "MultipleSource" $ PackageTests.MultipleSource.Check.tests cabalPath
     ]
 
 cabalProgram :: Program
diff --git a/cabal-install/tests/PackageTests/MultipleSource/Check.hs b/cabal-install/tests/PackageTests/MultipleSource/Check.hs
new file mode 100644
index 0000000000000000000000000000000000000000..0d76d38665909117c70ab1b81055103e0246b6a7
--- /dev/null
+++ b/cabal-install/tests/PackageTests/MultipleSource/Check.hs
@@ -0,0 +1,25 @@
+module PackageTests.MultipleSource.Check
+       ( tests
+       ) where
+
+
+import PackageTests.PackageTester
+
+import Test.Framework                 as TF (Test)
+import Test.Framework.Providers.HUnit (testCase)
+
+import System.FilePath ((</>))
+
+dir :: FilePath
+dir = "PackageTests" </> "MultipleSource"
+
+tests :: FilePath -> [TF.Test]
+tests cabalPath =
+    [ testCase "finds second source of multiple source" $ do
+          -- can fail if there is no pre-existing sandbox
+          _ <- cabal_sandbox dir ["delete"] cabalPath
+          assertSandboxSucceeded =<< cabal_sandbox dir ["init"] cabalPath
+          assertSandboxSucceeded =<< cabal_sandbox dir ["add-source", "p"] cabalPath
+          assertSandboxSucceeded =<< cabal_sandbox dir ["add-source", "q"] cabalPath
+          assertInstallSucceeded =<< cabal_install dir ["q"] cabalPath
+    ]
diff --git a/cabal-install/tests/PackageTests/MultipleSource/p/LICENSE b/cabal-install/tests/PackageTests/MultipleSource/p/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/cabal-install/tests/PackageTests/MultipleSource/p/Setup.hs b/cabal-install/tests/PackageTests/MultipleSource/p/Setup.hs
new file mode 100644
index 0000000000000000000000000000000000000000..9a994af677b0dfd41b4e3b76b3e7e604003d64e1
--- /dev/null
+++ b/cabal-install/tests/PackageTests/MultipleSource/p/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/cabal-install/tests/PackageTests/MultipleSource/p/p.cabal b/cabal-install/tests/PackageTests/MultipleSource/p/p.cabal
new file mode 100644
index 0000000000000000000000000000000000000000..8fe1d6c6dde9858bdc9523cc09a2d2e4e7514b54
--- /dev/null
+++ b/cabal-install/tests/PackageTests/MultipleSource/p/p.cabal
@@ -0,0 +1,11 @@
+name:                p
+version:             0.1.0.0
+license-file:        LICENSE
+author:              Edward Z. Yang
+maintainer:          ezyang@cs.stanford.edu
+build-type:          Simple
+cabal-version:       >=1.10
+
+library
+  build-depends:       base
+  default-language:    Haskell2010
diff --git a/cabal-install/tests/PackageTests/MultipleSource/q/LICENSE b/cabal-install/tests/PackageTests/MultipleSource/q/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/cabal-install/tests/PackageTests/MultipleSource/q/Setup.hs b/cabal-install/tests/PackageTests/MultipleSource/q/Setup.hs
new file mode 100644
index 0000000000000000000000000000000000000000..9a994af677b0dfd41b4e3b76b3e7e604003d64e1
--- /dev/null
+++ b/cabal-install/tests/PackageTests/MultipleSource/q/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/cabal-install/tests/PackageTests/MultipleSource/q/q.cabal b/cabal-install/tests/PackageTests/MultipleSource/q/q.cabal
new file mode 100644
index 0000000000000000000000000000000000000000..9fb08608ab0705acad79fd19ca8a5b5b71f617d0
--- /dev/null
+++ b/cabal-install/tests/PackageTests/MultipleSource/q/q.cabal
@@ -0,0 +1,11 @@
+name:                q
+version:             0.1.0.0
+license-file:        LICENSE
+author:              Edward Z. Yang
+maintainer:          ezyang@cs.stanford.edu
+build-type:          Simple
+cabal-version:       >=1.10
+
+library
+  build-depends:       base
+  default-language:    Haskell2010