diff --git a/Cabal/src/Distribution/PackageDescription/Check.hs b/Cabal/src/Distribution/PackageDescription/Check.hs
index e8be60fcbc59a14871ef973e8de4921726859b41..4c2701d95c3f87746d1c8216cbb197afce78c616 100644
--- a/Cabal/src/Distribution/PackageDescription/Check.hs
+++ b/Cabal/src/Distribution/PackageDescription/Check.hs
@@ -1352,18 +1352,13 @@ checkFields pkg =
       , isNoVersion vr
       ]
 
-    internalLibraries =
-      map
-        (maybe (packageName pkg) unqualComponentNameToPackageName . libraryNameString . libName)
-        (allLibraries pkg)
-
     internalExecutables = map exeName $ executables pkg
 
     internalLibDeps =
       [ dep
       | bi <- allBuildInfo pkg
       , dep@(Dependency name _ _) <- targetBuildDepends bi
-      , name `elem` internalLibraries
+      , name == packageName pkg
       ]
 
     internalExeDeps =
diff --git a/cabal-testsuite/PackageTests/Regression/T9122/p/p.cabal b/cabal-testsuite/PackageTests/Regression/T9122/p/p.cabal
new file mode 100644
index 0000000000000000000000000000000000000000..1100690129a8b46c561eb1f1864e3fe7713c64c3
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T9122/p/p.cabal
@@ -0,0 +1,6 @@
+cabal-version:      3.4
+name:               p
+Version:            2
+Build-Type:         Simple
+
+library
diff --git a/cabal-testsuite/PackageTests/Regression/T9122/q/q.cabal b/cabal-testsuite/PackageTests/Regression/T9122/q/q.cabal
new file mode 100644
index 0000000000000000000000000000000000000000..d9bd9b331e570d47c01d6bb4bf7fc25fc3e3938a
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T9122/q/q.cabal
@@ -0,0 +1,10 @@
+cabal-version:      3.4
+name:               q
+Version:            1
+Build-Type:         Simple
+
+library
+  build-depends:        q:p
+
+library p
+  build-depends:        p:p == 2
diff --git a/cabal-testsuite/PackageTests/Regression/T9122/setup.cabal.out b/cabal-testsuite/PackageTests/Regression/T9122/setup.cabal.out
new file mode 100644
index 0000000000000000000000000000000000000000..1367a55a1a082836f13458b901c1552523aaf60f
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T9122/setup.cabal.out
@@ -0,0 +1,11 @@
+# Setup configure
+Configuring p-2...
+# Setup build
+Preprocessing library for p-2...
+Building library for p-2...
+# Setup copy
+Installing library in <PATH>
+# Setup register
+Registering library for p-2...
+# Setup configure
+Configuring q-1...
diff --git a/cabal-testsuite/PackageTests/Regression/T9122/setup.out b/cabal-testsuite/PackageTests/Regression/T9122/setup.out
new file mode 100644
index 0000000000000000000000000000000000000000..1367a55a1a082836f13458b901c1552523aaf60f
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T9122/setup.out
@@ -0,0 +1,11 @@
+# Setup configure
+Configuring p-2...
+# Setup build
+Preprocessing library for p-2...
+Building library for p-2...
+# Setup copy
+Installing library in <PATH>
+# Setup register
+Registering library for p-2...
+# Setup configure
+Configuring q-1...
diff --git a/cabal-testsuite/PackageTests/Regression/T9122/setup.test.hs b/cabal-testsuite/PackageTests/Regression/T9122/setup.test.hs
new file mode 100644
index 0000000000000000000000000000000000000000..93a4a976b3bd1dfbe65dc0af4e85090ac690d0b0
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T9122/setup.test.hs
@@ -0,0 +1,5 @@
+import Test.Cabal.Prelude
+
+main = setupAndCabalTest $ withPackageDb $ do
+  withDirectory "p" $ setup_install []
+  withDirectory "q" $ setup "configure" []
diff --git a/changelog.d/issue-9122 b/changelog.d/issue-9122
new file mode 100644
index 0000000000000000000000000000000000000000..c8d82af1d8623521eda485b4249fbded5d37ce5a
--- /dev/null
+++ b/changelog.d/issue-9122
@@ -0,0 +1,4 @@
+synopsis: Fix dependency on an external package when an internal library with the same name exists
+packages: Cabal
+issues: #9122
+prs: #9132