diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py
index 04da5342bdcbff4b92e3c7f168aefb4a2ec19271..d6b30620101b7a477588cdec789aec2a9d18641f 100644
--- a/var/spack/repos/builtin/packages/libxml2/package.py
+++ b/var/spack/repos/builtin/packages/libxml2/package.py
@@ -26,7 +26,8 @@ class Libxml2(AutotoolsPackage):
     depends_on('zlib')
     depends_on('xz')
 
-    extends('python+shared', when='+python',
+    depends_on('python+shared', when='+python')
+    extends('python', when='+python',
             ignore=r'(bin.*$)|(include.*$)|(share.*$)|(lib/libxml2.*$)|'
             '(lib/xml2.*$)|(lib/cmake.*$)')
 
diff --git a/var/spack/repos/builtin/packages/libxslt/package.py b/var/spack/repos/builtin/packages/libxslt/package.py
index 145e2313cb1b6cbd93acc8bf18206900aac041ed..486c931ba1a6014a99e0e3725dce4220c743fe5d 100644
--- a/var/spack/repos/builtin/packages/libxslt/package.py
+++ b/var/spack/repos/builtin/packages/libxslt/package.py
@@ -32,7 +32,8 @@ class Libxslt(AutotoolsPackage):
     depends_on('zlib')
     depends_on('libgcrypt', when='+crypto')
 
-    extends('python+shared', when='+python')
+    depends_on('python+shared', when='+python')
+    extends('python', when='+python')
 
     def configure_args(self):
         args = []