diff --git a/IO/Xdmf2/vtkXdmfWriter.cxx b/IO/Xdmf2/vtkXdmfWriter.cxx
index 176458e26cbc00cbf53d2eaef6291836e020c2bf..04d14ced4be7fa47ec68ef877d95ee90b296a55f 100644
--- a/IO/Xdmf2/vtkXdmfWriter.cxx
+++ b/IO/Xdmf2/vtkXdmfWriter.cxx
@@ -472,11 +472,9 @@ int vtkXdmfWriter::WriteCompositeDataSet(vtkCompositeDataSet *dobj, XdmfGrid *gr
     {
     XdmfGrid *childsGrid = new XdmfGrid();
     childsGrid->SetDeleteOnGridDelete(true);
+    grid->Insert(childsGrid);
     vtkDataObject* ds = iter->GetCurrentDataObject();
-    if (this->WriteDataSet(ds, childsGrid))
-      {
-      grid->Insert(childsGrid);
-      }
+    this->WriteDataSet(ds, childsGrid);
     //delete childsGrid; //parent deletes children in Xdmf
     iter->GoToNextItem();
     }