diff --git a/src/proxy.c b/src/proxy.c
index e68fe9cb3ad23956d3d3c012573b0af6047c1904..6a3dcaca2851ab39b832a054511577266599cad0 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -308,8 +308,8 @@ void proxy_parts_load(struct proxy *p, const struct part *parts,
     do {
       p->size_parts_out *= proxy_buffgrow;
     } while (p->nr_parts_out + N > p->size_parts_out);
-    struct part *tp;
-    struct xpart *txp;
+    struct part *tp = NULL;
+    struct xpart *txp = NULL;
     if ((tp = (struct part *)malloc(sizeof(struct part) * p->size_parts_out)) ==
             NULL ||
         (txp = (struct xpart *)malloc(sizeof(struct xpart) *