diff --git a/pd/src/x_preset.c b/pd/src/x_preset.c
index cc4c220f324ab0714d6ed86d403bb009acef15b9..70f4d2bc09190a00ed1a291e40a29f23864463b1 100644
--- a/pd/src/x_preset.c
+++ b/pd/src/x_preset.c
@@ -807,6 +807,7 @@ void preset_hub_store(t_preset_hub *h, t_float f)
 							np1->np_next = np2;
 						else hd1->phd_npreset = np2;
 						np2->np_preset = (int)f;
+						np2->np_next = NULL;
 					}
 
 					if (hd1->phd_node->pn_val.l_n > 0) {
@@ -1170,6 +1171,7 @@ static void *preset_hub_new(t_symbol *s, int argc, t_atom *argv)
 		gl_phub->ph_next = x;
 	}
 	x->ph_next = NULL;
+	x->ph_data = NULL;
 
 	hd1 = NULL;
 	hd2 = NULL;