diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py
index 6cc53ae2dfad86ca3aa14320bc7d807e355b622b..6a32a53d8b1aae9a41ba7130c048a14d81eb28b1 100644
--- a/var/spack/repos/builtin/packages/lbann/package.py
+++ b/var/spack/repos/builtin/packages/lbann/package.py
@@ -56,7 +56,7 @@ class Lbann(CMakePackage):
     depends_on('cudnn', when='+gpu')
     depends_on('cub', when='+gpu')
     depends_on('mpi')
-    depends_on('hwloc')
+    depends_on('hwloc ~pci ~libxml2')
     depends_on('opencv@3.2.0: +openmp +core +highgui +imgproc +jpeg +png +tiff +zlib ~eigen', when='+opencv')
     depends_on('protobuf@3.0.2:')
     depends_on('cnpy')
@@ -148,7 +148,7 @@ def cmake_args(self):
             args.extend(['-DcuDNN_DIR={0}'.format(
                 spec['cudnn'].prefix)])
 
-        if '+cudnn' in spec:
+        if '+cub' in spec:
             args.extend(['-DCUB_DIR={0}'.format(
                 spec['cub'].prefix)])