diff --git a/src/fftwf_tools.cpp b/src/fftwf_tools.cpp
index c9c5f53d880039ef28fa7994431e09e44ff4e020..33b57d2914de449e1b04bd50ad612563fccba900 100644
--- a/src/fftwf_tools.cpp
+++ b/src/fftwf_tools.cpp
@@ -49,9 +49,9 @@ int fftwf_copy_complex_array(
             (myrank == fi->rank(ii0)))
         {
             std::copy(
-                    ai + (ii0 - fi->starts[0]    )*fi->slice_size,
-                    ai + (ii0 - fi->starts[0] + 1)*fi->slice_size,
-                    buffer);
+                    (float*)(ai + (ii0 - fi->starts[0]    )*fi->slice_size),
+                    (float*)(ai + (ii0 - fi->starts[0] + 1)*fi->slice_size),
+                    (float*)buffer);
         }
         else
         {
@@ -94,9 +94,9 @@ int fftwf_copy_complex_array(
                         continue;
                 }
                 std::copy(
-                        (buffer + ii1*fi->sizes[2]),
-                        (buffer + ii1*fi->sizes[2] + min_fast_dim),
-                        (ao + ((oi0 - fo->starts[0])*fo->sizes[1] + oi1)*fo->sizes[2]));
+                        (float*)(buffer + ii1*fi->sizes[2]),
+                        (float*)(buffer + ii1*fi->sizes[2] + min_fast_dim),
+                        (float*)(ao + ((oi0 - fo->starts[0])*fo->sizes[1] + oi1)*fo->sizes[2]));
             }
         }
     }
diff --git a/src/field_descriptor.cpp b/src/field_descriptor.cpp
index e580063673334a7662cea7ddc47a0b245b4e3309..225f7affb3776896723a71e4cdfd5e8343f166d4 100644
--- a/src/field_descriptor.cpp
+++ b/src/field_descriptor.cpp
@@ -59,12 +59,11 @@ int field_descriptor::read(
     MPI_Info_create(&info);
     MPI_File f;
 
-    MPI_File_open(
+    f = MPI::File::Open(
             this->comm,
             fname,
             MPI_MODE_RDONLY,
-            info,
-            &f);
+            info);
     MPI_File_set_view(
             f,
             0,
@@ -91,12 +90,11 @@ int field_descriptor::write(
     MPI_Info_create(&info);
     MPI_File f;
 
-    MPI_File_open(
+    f = MPI::File::Open(
             this->comm,
             fname,
             MPI_MODE_CREATE | MPI_MODE_WRONLY,
-            info,
-            &f);
+            info);
     MPI_File_set_view(
             f,
             0,
diff --git a/src/field_descriptor.hpp b/src/field_descriptor.hpp
index 0c521ad0e3018c19918833de15a05a900e2d0d7f..a4b37737865ebc0a81c75a8b8828de08ba5c8f42 100644
--- a/src/field_descriptor.hpp
+++ b/src/field_descriptor.hpp
@@ -10,9 +10,9 @@ class field_descriptor
     public:
 
         /* data */
-        int *sizes    = NULL;
-        int *subsizes = NULL;
-        int *starts   = NULL;
+        int *sizes;
+        int *subsizes;
+        int *starts;
         int ndims;
         ptrdiff_t slice_size, local_size, full_size;
         MPI_Datatype mpi_array_dtype, mpi_dtype;