diff -dur mpi/communicator.hpp mpi_new/communicator.hpp --- mpi/communicator.hpp 2012-01-22 20:41:50.589783507 -0600 +++ mpi_new/communicator.hpp 2012-01-22 20:47:46.537557362 -0600 @@ -871,7 +871,7 @@ { int finalized; BOOST_MPI_CHECK_RESULT(MPI_Finalized, (&finalized)); - if (!finalized) + if (!finalized && MPI_COMM_NULL != *comm) BOOST_MPI_CHECK_RESULT(MPI_Comm_free, (comm)); delete comm; }