diff --git a/var/spack/repos/builtin/packages/slate/package.py b/var/spack/repos/builtin/packages/slate/package.py
index cae0a0e8df5f749c6d486534c0ea230b802f0c0c..5d78b2e34cdf620c7b038f56ed0c60a3de7d85e1 100644
--- a/var/spack/repos/builtin/packages/slate/package.py
+++ b/var/spack/repos/builtin/packages/slate/package.py
@@ -25,7 +25,7 @@ class Slate(Package):
     variant('mpi',    default=True, description='Build with MPI support.')
     variant('openmp', default=True, description='Build with OpenMP support.')
 
-    depends_on('cuda@9:', when='+cuda')
+    depends_on('cuda@9:10', when='+cuda')
     depends_on('intel-mkl')
     depends_on('mpi', when='+mpi')
 
@@ -41,10 +41,13 @@ def install(self, spec, prefix):
         f_mpi = "1" if spec.variants['mpi'].value else "0"
         f_openmp = "1" if spec.variants['openmp'].value else "0"
 
-        compiler = 'mpicxx' if spec.variants['mpi'].value else ''
+        comp_cxx = comp_for = ''
+        if '+mpi' in spec:
+            comp_cxx = 'mpicxx'
+            comp_for = 'mpif90'
 
         make('mpi=' + f_mpi, 'mkl=1', 'cuda=' + f_cuda, 'openmp=' + f_openmp,
-             'CXX=' + compiler)
+             'CXX=' + comp_cxx, 'FC=' + comp_for)
         install_tree('lib', prefix.lib)
         install_tree('test', prefix.test)
         mkdirp(prefix.include)