diff --git a/var/spack/repos/builtin/packages/netcdf/package.py b/var/spack/repos/builtin/packages/netcdf/package.py
index 58e8e276a9b3d0de57cfb1f049cfebd897a67167..d8e8abfef045602e94e2874dc83e5396b949e1ba 100644
--- a/var/spack/repos/builtin/packages/netcdf/package.py
+++ b/var/spack/repos/builtin/packages/netcdf/package.py
@@ -103,7 +103,8 @@ def url_for_version(self, version):
 
     # High-level API of HDF5 1.8.9 or later is required for netCDF-4 support:
     # http://www.unidata.ucar.edu/software/netcdf/docs/getting_and_building_netcdf.html
-    depends_on('hdf5@1.8.9:+hl')
+    depends_on('hdf5@1.8.9:+hl~mpi', when='~mpi')
+    depends_on('hdf5@1.8.9:+hl+mpi', when='+mpi')
 
     # Starting version 4.4.0, it became possible to disable parallel I/O even
     # if HDF5 supports it. For previous versions of the library we need