diff --git a/layers/screenshot.cpp b/layers/screenshot.cpp
index ec1ac0c..0fa3337 100644
--- a/layers/screenshot.cpp
+++ b/layers/screenshot.cpp
@@ -245,14 +245,13 @@
     assert(!err);
 
     VkFence nullFence = { VK_NULL_HANDLE };
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
-        .pCommandBuffers = &cmdBuffer,
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = 1;
+    submit_info.pCommandBuffers = &cmdBuffer;
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
 
     err = pTableQueue->QueueSubmit(queue, 1, &submit_info, nullFence);
     assert(!err);
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index 869c47d..c37e8e8 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -413,14 +413,13 @@
 
     // Bypass framework since it does the waits automatically
     VkResult err = VK_SUCCESS;
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
-        .pCommandBuffers = &m_cmdBuffer->handle(),
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = 1;
+    submit_info.pCommandBuffers = &m_cmdBuffer->handle();
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit( m_device->m_queue, 1, &submit_info, testFence.handle());
     ASSERT_VK_SUCCESS( err );
@@ -459,14 +458,13 @@
 
     // Bypass framework since it does the waits automatically
     VkResult err = VK_SUCCESS;
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
-        .pCommandBuffers = &m_cmdBuffer->handle(),
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = 1;
+    submit_info.pCommandBuffers = &m_cmdBuffer->handle();
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit( m_device->m_queue, 1, &submit_info, testFence.handle());
     ASSERT_VK_SUCCESS( err );
@@ -738,14 +736,13 @@
     testFence.init(*m_device, fenceInfo);
     m_errorMonitor->ClearState();
 
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
-        .pCommandBuffers = &m_cmdBuffer->handle(),
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = 1;
+    submit_info.pCommandBuffers = &m_cmdBuffer->handle();
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
 
     vkQueueSubmit(m_device->m_queue, 1, &submit_info, testFence.handle());
     vkQueueWaitIdle(m_device->m_queue );
@@ -1302,14 +1299,14 @@
 
     // Bypass framework since it does the waits automatically
     VkResult err = VK_SUCCESS;
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
-        .pCommandBuffers = &m_cmdBuffer->handle(),
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = 1;
+    submit_info.pCommandBuffers = &m_cmdBuffer->handle();
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
+
     err = vkQueueSubmit( m_device->m_queue, 1, &submit_info, testFence.handle());
     ASSERT_VK_SUCCESS( err );
 
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 4ea2eaa..f72f7f8 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -989,14 +989,13 @@
     // submit the command buffer to the universal queue
     VkCmdBuffer bufferArray[1];
     bufferArray[0] = m_commandBuffer->GetBufferHandle();
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
-        .pCommandBuffers = bufferArray,
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = 1;
+    submit_info.pCommandBuffers = bufferArray;
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit(m_device->m_queue, 1, &submit_info, m_fence.handle());
     ASSERT_VK_SUCCESS(err);
@@ -1603,14 +1602,13 @@
     VkResult err = VK_SUCCESS;
 
     // submit the command buffer to the universal queue
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
-        .pCommandBuffers = &handle(),
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = 1;
+    submit_info.pCommandBuffers = &handle();
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit( m_device->m_queue, 1, &submit_info, fence );
     ASSERT_VK_SUCCESS( err );
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index 7182eab..b8ba332 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -395,14 +395,13 @@
 void Queue::submit(const std::vector<const CmdBuffer *> &cmds, Fence &fence)
 {
     const std::vector<VkCmdBuffer> cmd_handles = make_handles<VkCmdBuffer>(cmds);
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = (uint32_t) cmd_handles.size(),
-        .pCommandBuffers = cmd_handles.data(),
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = (uint32_t)cmd_handles.size();
+    submit_info.pCommandBuffers = cmd_handles.data();
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
 
     EXPECT(vkQueueSubmit(handle(), 1, &submit_info, fence.handle()) == VK_SUCCESS);
 }
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index 6615785..c588264 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -587,14 +587,14 @@
     cmdBufs[0] = m_cmdbuf.handle();
 
     VkFence nullFence = { VK_NULL_HANDLE };
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
-        .pCommandBuffers = cmdBufs,
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = 1;
+    submit_info.pCommandBuffers = cmdBufs;
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
+
     vkQueueSubmit(m_queue.handle(), 1, &submit_info, nullFence);
     m_queue.wait();
 
@@ -1027,14 +1027,14 @@
 
     const VkCmdBuffer cmd_bufs[] = { m_cmdbuf.handle() };
     VkFence nullFence = { VK_NULL_HANDLE };
-    VkSubmitInfo submit_info = {
-        .waitSemCount = 0,
-        .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
-        .pCommandBuffers = cmd_bufs,
-        .signalSemCount = 0,
-        .pSignalSemaphores = NULL
-    };
+    VkSubmitInfo submit_info;
+    submit_info.waitSemCount = 0;
+    submit_info.pWaitSemaphores = NULL;
+    submit_info.cmdBufferCount = 1;
+    submit_info.pCommandBuffers = cmd_bufs;
+    submit_info.signalSemCount = 0;
+    submit_info.pSignalSemaphores = NULL;
+
     err = vkQueueSubmit(m_queue.handle(), 1, &submit_info, nullFence);
     assert(!err);
 
