diff --git a/Makefile.am b/Makefile.am
index 2f1d5fb..0c055a3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,9 +23,16 @@
 
 test_write_flash_SOURCES = test/write_flash.c mboxd_flash.c common.c test/tmpf.c
 
+TEST_MBOX_SRCS = mboxd_msg.c mboxd_windows.c mboxd_lpc.c mboxd_flash.c common.c
+TEST_MOCK_SRCS = test/tmpf.c test/mbox.c test/system.c
+
+test_get_mbox_info_v2_SOURCES = test/get_mbox_info_v2.c \
+				$(TEST_MBOX_SRCS) $(TEST_MOCK_SRCS)
+
 check_PROGRAMS = test/sanity \
-		test/copy_flash \
-		test/erase_flash \
-		test/write_flash
+		 test/copy_flash \
+		 test/erase_flash \
+		 test/write_flash \
+		 test/get_mbox_info_v2
 
 TESTS = $(check_PROGRAMS)
diff --git a/test/get_mbox_info_v2.c b/test/get_mbox_info_v2.c
new file mode 100644
index 0000000..3a86f94
--- /dev/null
+++ b/test/get_mbox_info_v2.c
@@ -0,0 +1,60 @@
+/*
+ * 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 command[] = {
+	0x02, 0xaa, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const uint8_t response[] = {
+	0x02, 0xaa, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+};
+
+#define MEM_SIZE	3
+#define ERASE_SIZE	1
+#define N_WINDOWS	1
+#define WINDOW_SIZE	1
+
+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_command_dispatch(ctx, command, sizeof(command));
+	assert(rc == 1);
+
+	rc = mbox_cmp(ctx, response, sizeof(response));
+	assert(rc == 0);
+
+	return rc;
+}
