diff --git a/GenericIORewrite.cxx b/GenericIORewrite.cxx
index 0290ed59023c5923f8921fe172eb40388e6c2f35..3dc5b6e12ad844e7b9b4e91c7eb30c495f1b523f 100644
--- a/GenericIORewrite.cxx
+++ b/GenericIORewrite.cxx
@@ -79,8 +79,15 @@ int main(int argc, char *argv[]) {
       NewGIO.setPhysScale(PhysScale[d], d);
     }
 
-    for (size_t i = 0; i < VI.size(); ++i)
+    for (size_t i = 0; i < VI.size(); ++i) {
+      if (NR != NRanks) {
+        // When dropping topology information, also drop the related column tags.
+        VI[i].IsPhysCoordX = VI[i].IsPhysCoordY = VI[i].IsPhysCoordZ =
+          VI[i].MaybePhysGhost = false;
+      }
+
       NewGIO.addVariable(VI[i], &Vars[i][0], GenericIO::VarHasExtraSpace);
+    }
 
     NewGIO.write();
   }