diff --git a/mboxd.c b/mboxd.c
index 3f78410..637f416 100644
--- a/mboxd.c
+++ b/mboxd.c
@@ -248,7 +248,7 @@
 
 	context->current = NULL; /* No current window */
 
-	while ((opt = getopt_long(argc, argv, "f:b:w::n::vsVh", long_options, NULL))
+	while ((opt = getopt_long(argc, argv, "f:b:w::n::vst::Vh", long_options, NULL))
 			!= -1) {
 		switch (opt) {
 		case 0:
@@ -315,8 +315,8 @@
 			context->blktracefd = open(argv[optind],
 						   O_CREAT|O_TRUNC|O_WRONLY,
 						   0666);
-			MSG_INFO("Recording blktrace output to %s\n",
-				 argv[optind]);
+			printf("Recording blktrace output to %s\n",
+			       argv[optind]);
 			if (context->blktracefd == -1) {
 				perror("Couldn't open blktrace file for writing");
 				exit(2);
@@ -493,6 +493,9 @@
 cleanup_backend:
 	backend_free(&context->backend);
 cleanup_context:
+	if (context->blktracefd)
+		close(context->blktracefd);
+
 	free(context);
 
 	return rc;
diff --git a/protocol.c b/protocol.c
index 8f2f742..ab1c332 100644
--- a/protocol.c
+++ b/protocol.c
@@ -195,12 +195,13 @@
 	trace->cpu = 0;
 	trace->error = 0;
 	trace->pdu_len = 0;
-	write(context->blktracefd, &trace, sizeof(trace));
+	write(context->blktracefd, trace, sizeof(*trace));
 	trace->sequence++;
 	trace->time = blktrace_gettime() - context->blktrace_start;
 	trace->action &= ~BLK_TA_QUEUE;
 	trace->action |= BLK_TA_ISSUE;
-	write(context->blktracefd, &trace, sizeof(trace));}
+	write(context->blktracefd, trace, sizeof(*trace));
+}
 
 static void blktrace_flush_done(struct mbox_context *context)
 {
@@ -213,7 +214,7 @@
 	trace->time = blktrace_gettime() - context->blktrace_start;
 	trace->action &= ~BLK_TA_ISSUE;
 	trace->action |= BLK_TA_COMPLETE;
-	write(context->blktracefd, &trace, sizeof(trace));
+	write(context->blktracefd, trace, sizeof(*trace));
 }
 
 static void blktrace_window_start(struct mbox_context *context)
@@ -246,17 +247,17 @@
 
 	trace->sector = context->current->flash_offset / 512;
 	trace->bytes = context->current->size;
-	write(context->blktracefd, &trace, sizeof(trace));
+	write(context->blktracefd, trace, sizeof(*trace));
 	trace->sequence++;
 	trace->action &= ~BLK_TA_QUEUE;
 	trace->action |= BLK_TA_ISSUE;
-	write(context->blktracefd, &trace, sizeof(trace));
+	write(context->blktracefd, trace, sizeof(*trace));
 
 	trace->sequence++;
 	trace->time = blktrace_gettime() - context->blktrace_start;
 	trace->action &= ~BLK_TA_ISSUE;
 	trace->action |= BLK_TA_COMPLETE;
-	write(context->blktracefd, &trace, sizeof(trace));
+	write(context->blktracefd, trace, sizeof(*trace));
 }
 
 static int protocol_v1_create_window(struct mbox_context *context,
