diff --git a/var/spack/repos/builtin/packages/express/package.py b/var/spack/repos/builtin/packages/express/package.py
index cfc83ec44c031d187e76aac34a06a87d8314eeff..6d792f5479f14ea086085707e8b0dce452ef6b64 100644
--- a/var/spack/repos/builtin/packages/express/package.py
+++ b/var/spack/repos/builtin/packages/express/package.py
@@ -52,11 +52,8 @@ def patch(self):
                     edit.filter('#include <api', '#include <%s' % self.spec[
                                 'bamtools'].prefix.include.bamtools.api)
             edit = FileFilter('CMakeLists.txt')
-            # really ugly way to escape the $ in CMakeLists.txt
-            edit.filter('{CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/'
-                        'libbamtools.a', '$')
-            edit.filter('\\$\\$', '%s' % join_path(self.spec[
-                        'bamtools'].prefix.lib.bamtools, 'libbamtools.a'))
+            edit.filter('\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/'
+                        'libbamtools.a', '%s' % self.spec['bamtools'].libs)
 
     def setup_environment(self, spack_env, run_env):
         spack_env.prepend_path('CPATH', self.spec[