diff --git a/var/spack/repos/builtin/packages/netcdf-cxx/package.py b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
index 10353df52ce9f475ec4823b202ef1cdb7cfc2eac..3d610eb7ca3913847b3de6c71b552e0494c64d49 100644
--- a/var/spack/repos/builtin/packages/netcdf-cxx/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-cxx/package.py
@@ -35,4 +35,11 @@ def configure_args(self):
             # There is no clear way to set this via configure, so set the flag
             # explicitly
             args.append('CPPFLAGS=-DUSE_NETCDF4')
+        # Add these to LDFLAGS explicitly, so the linker doesn't accidentally
+        # use system versions
+        ldflags = [
+            self.spec['netcdf'].libs.search_flags,
+            self.spec['hdf5'].libs.search_flags,
+        ]
+        args.append('LDFLAGS=' + ' '.join(ldflags))
         return args