diff --git a/relaxng.c b/relaxng.c
index b1245d7..b8c0b5c 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -1545,16 +1545,18 @@
             xmlGenericError(xmlGenericErrorContext, "malloc failed !\n");
             return (0);
         }
+	ctxt->err = NULL;
     }
     if (ctxt->errNr >= ctxt->errMax) {
-        ctxt->errMax *= 2;
+	ctxt->errMax *= 2;
         ctxt->errTab =
             (xmlRelaxNGValidErrorPtr) xmlRealloc(ctxt->errTab,
-			      ctxt->errMax * sizeof(xmlRelaxNGValidError));
+			    ctxt->errMax * sizeof(xmlRelaxNGValidError));
         if (ctxt->errTab == NULL) {
             xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
             return (0);
         }
+	ctxt->err = &ctxt->errTab[ctxt->errNr - 1];
     }
     if ((ctxt->err != NULL) && (ctxt->state != NULL) &&
 	(ctxt->err->node == ctxt->state->node) &&
@@ -3588,6 +3590,7 @@
 		xmlMalloc(sizeof(xmlRelaxNGPartition));
     if (partitions == NULL)
         goto error;
+    memset(partitions, 0, sizeof(xmlRelaxNGPartition));
     partitions->nbgroups = nbgroups;
     partitions->triage = xmlHashCreate(nbgroups);
     for (i = 0;i < nbgroups;i++) {
