diff --git a/src/TNL/Communicators/MpiCommunicator.h b/src/TNL/Communicators/MpiCommunicator.h
index 0a711a58ac7f88db41af565aefae2929cea8d7a5..1cb98926c5a2ec8ffaa01c77f8a9e535a2c94ba5 100644
--- a/src/TNL/Communicators/MpiCommunicator.h
+++ b/src/TNL/Communicators/MpiCommunicator.h
@@ -220,7 +220,7 @@ class MpiCommunicator
 #endif
       }
 
-      static int GetRank(CommunicationGroup group)
+      static int GetRank(CommunicationGroup group = AllGroup )
       {
 #ifdef HAVE_MPI
         TNL_ASSERT_TRUE(IsInitialized(), "Fatal Error - MPI communicator is not initialized");
@@ -233,7 +233,7 @@ class MpiCommunicator
 #endif
       }
 
-      static int GetSize(CommunicationGroup group)
+      static int GetSize(CommunicationGroup group = AllGroup )
       {
 #ifdef HAVE_MPI
          TNL_ASSERT_TRUE(IsInitialized(), "Fatal Error - MPI communicator is not initialized");
@@ -309,13 +309,13 @@ class MpiCommunicator
         }
 
          template <typename T>
-         static Request IRecv( T* data, int count, int src, int tag, CommunicationGroup group)
+         static Request IRecv( T* data, int count, int src, int tag, CommunicationGroup group = AllGroup )
          {
 #ifdef HAVE_MPI
             TNL_ASSERT_TRUE(IsInitialized(), "Fatal Error - MPI communicator is not initialized");
             TNL_ASSERT_NE(group, NullGroup, "IRecv cannot be called with NullGroup");
             Request req;
-            MPI_Irecv((void*) data, count, MPITypeResolver< T >::getType() , src, tag, group, &req);
+            MPI_Irecv( const_cast< void* >( ( const void* ) data ), count, MPITypeResolver< T >::getType() , src, tag, group, &req);
             return req;
 #else
             throw Exceptions::MPISupportMissing();
@@ -522,8 +522,6 @@ class MpiCommunicator
     #endif
 #endif
       }
-
-
 };
 
 #ifdef HAVE_MPI
diff --git a/src/TNL/Communicators/NoDistrCommunicator.h b/src/TNL/Communicators/NoDistrCommunicator.h
index 5b2fb9049f8a9209c05d3af5a4789e6063055718..5628522c3ea6279aad8cb01191b1b817440784b4 100644
--- a/src/TNL/Communicators/NoDistrCommunicator.h
+++ b/src/TNL/Communicators/NoDistrCommunicator.h
@@ -55,12 +55,12 @@ class NoDistrCommunicator
           return false;
       }
 
-      static int GetRank(CommunicationGroup group)
+      static int GetRank(CommunicationGroup group = AllGroup )
       {
           return 0;
       }
 
-      static int GetSize(CommunicationGroup group)
+      static int GetSize(CommunicationGroup group = AllGroup )
       {
           return 1;
       }