Index: uspace/app/sysinst/sysinst.c
===================================================================
--- uspace/app/sysinst/sysinst.c	(revision cde067e3c7553fc8ac92412868940e574bda9a32)
+++ uspace/app/sysinst/sysinst.c	(revision ca95ccde2d2ffa7c530aaac0b982f569eaaf95cf)
@@ -309,4 +309,10 @@
 	}
 
+	rc = vol_volumes_sync(volumes);
+	if (rc != EOK) {
+		printf("Error saving volume confiuration.\n");
+		goto error;
+	}
+
 	printf("Configuring volume server: delete reference\n");
 	vol_volume_del_ref(volume);
Index: uspace/lib/sif/src/sif.c
===================================================================
--- uspace/lib/sif/src/sif.c	(revision cde067e3c7553fc8ac92412868940e574bda9a32)
+++ uspace/lib/sif/src/sif.c	(revision ca95ccde2d2ffa7c530aaac0b982f569eaaf95cf)
@@ -228,5 +228,5 @@
 	errno_t rc;
 	bool endtag;
-	FILE *f;
+	FILE *f = NULL;
 
 	doc = calloc(1, sizeof(sif_doc_t));
@@ -255,4 +255,5 @@
 	}
 
+	fclose(f);
 	doc->root = root;
 	*rdoc = doc;
@@ -261,4 +262,6 @@
 	sif_node_delete(root);
 	free(doc);
+	if (f != NULL)
+		fclose(f);
 	return rc;
 }
@@ -372,4 +375,5 @@
 	}
 
+	fclose(f);
 	return EOK;
 error:
Index: uspace/srv/volsrv/volume.c
===================================================================
--- uspace/srv/volsrv/volume.c	(revision cde067e3c7553fc8ac92412868940e574bda9a32)
+++ uspace/srv/volsrv/volume.c	(revision ca95ccde2d2ffa7c530aaac0b982f569eaaf95cf)
@@ -577,5 +577,5 @@
 		if (vol_volume_is_persist(volume)) {
 			/* Create 'volume' node. */
-			rc = sif_node_append_child(rnode, "volume", &node);
+			rc = sif_node_append_child(nvolumes, "volume", &node);
 			if (rc != EOK)
 				goto error;
