diff --git a/library/SolverUtils/DriverModifiedArnoldi.cpp b/library/SolverUtils/DriverModifiedArnoldi.cpp
index 92a2fec85580817391e99fee48d2b04266b64f46..43870583a1a94bc6900cd82ffc5334f8749233cc 100644
--- a/library/SolverUtils/DriverModifiedArnoldi.cpp
+++ b/library/SolverUtils/DriverModifiedArnoldi.cpp
@@ -141,11 +141,7 @@ namespace Nektar
          
             // Normalise first vector in sequence
             alpha[0] = std::sqrt(Vmath::Dot(ntot, &Kseq[0][0], 1, &Kseq[0][0], 1));
-			
-            if (m_comm->GetRank() == 0)
-            {
-                m_comm->AllReduce(alpha[0], Nektar::LibUtilities::ReduceSum);
-            }
+			m_comm->AllReduce(alpha[0], Nektar::LibUtilities::ReduceSum);
 			
             //alpha[0] = std::sqrt(alpha[0]);
             Vmath::Smul(ntot, 1.0/alpha[0], Kseq[0], 1, Kseq[0], 1);
@@ -159,12 +155,9 @@ namespace Nektar
              
                 // Normalise
                 alpha[i] = std::sqrt(Vmath::Dot(ntot, &Kseq[i][0], 1, &Kseq[i][0], 1));
-				
-                if (m_comm->GetRank() == 0)
-                {
-                    m_comm->AllReduce(alpha[i],
-                                      Nektar::LibUtilities::ReduceSum);
-                }
+				m_comm->AllReduce(alpha[i], Nektar::LibUtilities::ReduceSum);
+
+
 				
                 //alpha[i] = std::sqrt(alpha[i]);
                 Vmath::Smul(ntot, 1.0/alpha[i], Kseq[i], 1, Kseq[i], 1);
diff --git a/library/SolverUtils/EquationSystem.cpp b/library/SolverUtils/EquationSystem.cpp
index 193dcb64516be35c32fa02e187279be2b35caa8b..16f2fcd0aa75eda0192e33f174a1f3e95f314133 100644
--- a/library/SolverUtils/EquationSystem.cpp
+++ b/library/SolverUtils/EquationSystem.cpp
@@ -363,6 +363,16 @@ namespace Nektar
 									
                                 for (i = 0; i < m_fields.num_elements(); i++)
                                 {
+									
+									m_fields[i] = MemoryManager<MultiRegions
+									::ContField3DHomogeneous1D>
+									::AllocateSharedPtr(
+														m_session, BkeyZR, m_LhomZ, 
+														m_useFFT, m_homogen_dealiasing,
+														m_graph, 
+														m_session->GetVariable(i), 
+														m_checkIfSystemSingular[i]);
+									
                                     if (i == m_fields.num_elements()-2)
                                     {
                                         m_fields[i] = MemoryManager<MultiRegions
@@ -375,14 +385,7 @@ namespace Nektar
                                                     m_session->GetVariable(i), 
                                                     m_checkIfSystemSingular[i]);
                                     }
-                                    m_fields[i] = MemoryManager<MultiRegions
-                                        ::ContField3DHomogeneous1D>
-                                            ::AllocateSharedPtr(
-                                                m_session, BkeyZR, m_LhomZ, 
-                                                m_useFFT, m_homogen_dealiasing,
-                                                m_graph, 
-                                                m_session->GetVariable(i), 
-                                                m_checkIfSystemSingular[i]);
+	
                                 }
                             }
                             // Normal homogeneous 1D