--- a/config/BuildSystem/config/packages/MPI.py
+++ b/config/BuildSystem/config/packages/MPI.py
@@ -14,7 +14,7 @@
     config.package.Package.__init__(self, framework)
     self.minversion         = '2'
     self.versionname        = 'MPI_VERSION'
-    self.functions          = ['MPI_Init', 'MPI_Comm_create']
+    self.functions          = []
     self.includes           = ['mpi.h']
     liblist_mpich         = [['fmpich2.lib','fmpich2g.lib','fmpich2s.lib','mpi.lib'],
                              ['fmpich2.lib','fmpich2g.lib','mpi.lib'],['fmpich2.lib','mpich2.lib'],
@@ -428,6 +428,8 @@
     # flag broken one-sided tests
     if not 'HAVE_MSMPI' in self.defines and not (hasattr(self, 'mpich_numversion') and int(self.mpich_numversion) <= 30004300) and not (hasattr(self, 'isNecMPI')):
       self.addDefine('HAVE_MPI_ONE_SIDED', 1)
+    for f in '''MPI_Comm_spawn MPI_Type_get_envelope MPI_Type_get_extent MPI_Type_dup MPI_Init_thread MPI_Finalized MPI_Exscan'''.split():
+      self.addDefine('HAVE_' + f.upper(),1)
 
     if self.checkLink('#include <mpi.h>\n', 'int provided; if (MPI_Init_thread(0,0,MPI_THREAD_FUNNELED,&provided)) return 0;'): # MPI-2.1
       self.addDefine('HAVE_MPI_INIT_THREAD',1)
