diff --git a/src/Morton_shuffler.cpp b/src/Morton_shuffler.cpp
index c9e93152e27f48bc174e16b0d60b28a305752a39..670ce2cf9deb5bd83b46e233cc4c5d09af27f823 100644
--- a/src/Morton_shuffler.cpp
+++ b/src/Morton_shuffler.cpp
@@ -1,7 +1,6 @@
 #include "Morton_shuffler.hpp"
 #include <iostream>
 
-extern int myrank, nprocs;
 
 Morton_shuffler::Morton_shuffler(
         int N0, int N1, int N2,
diff --git a/src/Morton_shuffler.hpp b/src/Morton_shuffler.hpp
index c593c2ba18de95ba9989978cf857ddb31ba99b7d..3e98ac323bbac60f8e5c70d7c24406197f6e2a48 100644
--- a/src/Morton_shuffler.hpp
+++ b/src/Morton_shuffler.hpp
@@ -8,6 +8,8 @@
 
 #define MORTON_SHUFFLER
 
+extern int myrank, nprocs;
+
 inline ptrdiff_t part1by2(ptrdiff_t x)
 {
     ptrdiff_t n = x & 0x000003ff;
diff --git a/src/RMHD_converter.cpp b/src/RMHD_converter.cpp
index 232999a89010893af92906f94e29371bd76495bb..cc92d1dc3c6347807b2e4292d65f7e40c97f197c 100644
--- a/src/RMHD_converter.cpp
+++ b/src/RMHD_converter.cpp
@@ -2,7 +2,6 @@
 #include <string>
 #include <iostream>
 
-extern int myrank, nprocs;
 
 
 RMHD_converter::RMHD_converter(
diff --git a/src/RMHD_converter.hpp b/src/RMHD_converter.hpp
index 2c397008d28e890fe9862b53e897c2ab9fc965d0..6ce834c6f0f912ebfff24775d3ece70c84081129 100644
--- a/src/RMHD_converter.hpp
+++ b/src/RMHD_converter.hpp
@@ -9,6 +9,8 @@
 
 #define RMHD_CONVERTER
 
+extern int myrank, nprocs;
+
 class RMHD_converter
 {
     public:
diff --git a/src/fftwf_tools.cpp b/src/fftwf_tools.cpp
index 5dc37a06561a83f24a9974ea44b4c30df0c5268e..b8e0d20a23794738a203a086b915d0ee2b505da6 100644
--- a/src/fftwf_tools.cpp
+++ b/src/fftwf_tools.cpp
@@ -2,8 +2,9 @@
 #include <algorithm>
 #include <iostream>
 #include "field_descriptor.hpp"
+#include "fftwf_tools.hpp"
+
 
-extern int myrank, nprocs;
 
 // should I use a template here?
 int fftwf_copy_complex_array(
diff --git a/src/fftwf_tools.hpp b/src/fftwf_tools.hpp
index 3354661e819de60ba6f572beebe4e496e7081258..5f089a0d0b93116dafebbedb9a318062da9dec65 100644
--- a/src/fftwf_tools.hpp
+++ b/src/fftwf_tools.hpp
@@ -5,6 +5,8 @@
 
 #define FFTWF_TOOLS
 
+extern int myrank, nprocs;
+
 /* given two arrays of the same dimension, we do a simple resize in
  * Fourier space: either chop off high modes, or pad with zeros.
  * the arrays are assumed to use 3D mpi fftw layout.