diff --git a/Modules/BundleUtilities.cmake b/Modules/BundleUtilities.cmake
index 45dda40c870e8e3e9441f4c3ad2644d93b4c4bfb..73ff0af855fe8c7ab8111e887ff8c8f06f31d0a5 100644
--- a/Modules/BundleUtilities.cmake
+++ b/Modules/BundleUtilities.cmake
@@ -479,7 +479,7 @@ function(set_bundle_key_values keys_var context item exepath dirs copyflag)
 
     get_item_rpaths("${resolved_item}" item_rpaths)
 
-    if(item MATCHES "[^/]+\\.framework/")
+    if((item NOT MATCHES "\\.dylib$") AND (item MATCHES "[^/]+\\.framework/"))
       # For frameworks, construct the name under the embedded path from the
       # opening "${item_name}.framework/" to the closing "/${item_name}":
       #