diff --git a/Makefile.am b/Makefile.am
index ea50763..539e27b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -44,6 +44,9 @@
 test_close_window_v2_SOURCES = test/close_window_v2.c \
 			       $(TEST_MBOX_SRCS) $(TEST_MOCK_SRCS)
 
+test_mark_write_dirty_v2_SOURCES = test/mark_write_dirty_v2.c \
+				   $(TEST_MBOX_SRCS) $(TEST_MOCK_SRCS)
+
 check_PROGRAMS = test/sanity \
 		 test/copy_flash \
 		 test/erase_flash \
@@ -53,6 +56,7 @@
 		 test/get_flash_info_v2 \
 		 test/create_read_window_v2 \
 		 test/create_write_window_v2 \
-		 test/close_window_v2
+		 test/close_window_v2 \
+		 test/mark_write_dirty_v2
 
 TESTS = $(check_PROGRAMS)
diff --git a/test/mark_write_dirty_v2.c b/test/mark_write_dirty_v2.c
new file mode 100644
index 0000000..9993667
--- /dev/null
+++ b/test/mark_write_dirty_v2.c
@@ -0,0 +1,82 @@
+/*
+ * MBox Daemon Test File
+ *
+ * Copyright 2017 IBM
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <assert.h>
+
+#include "mbox.h"
+#include "mboxd_msg.h"
+
+#include "test/mbox.h"
+#include "test/system.h"
+
+static const uint8_t get_info[] = {
+	0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const uint8_t create_write_window[] = {
+	0x06, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const uint8_t mark_write_dirty[] = {
+	0x07, 0x02, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const uint8_t response[] = {
+	0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x01
+};
+
+uint8_t data[3] = { 0xaa, 0x55, 0xaa };
+
+#define MEM_SIZE	sizeof(data)
+#define ERASE_SIZE	1
+#define N_WINDOWS	1
+#define WINDOW_SIZE	sizeof(data)
+
+int main(void)
+{
+	struct mbox_context *ctx;
+	int rc;
+
+	system_set_reserved_size(MEM_SIZE);
+	system_set_mtd_sizes(MEM_SIZE, ERASE_SIZE);
+
+	ctx = mbox_create_test_context(N_WINDOWS, WINDOW_SIZE);
+	rc = mbox_set_mtd_data(ctx, data, sizeof(data));
+	assert(rc == 0);
+
+	rc = mbox_command_dispatch(ctx, get_info, sizeof(get_info));
+	assert(rc == 1);
+
+	rc = mbox_command_dispatch(ctx, create_write_window,
+			sizeof(create_write_window));
+	assert(rc == 1);
+
+	rc = mbox_command_dispatch(ctx, mark_write_dirty,
+			sizeof(mark_write_dirty));
+	assert(rc == 1);
+
+	rc = mbox_cmp(ctx, response, sizeof(response));
+	assert(rc == 0);
+
+	return rc;
+};
