diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index e6f5391..9a1d29a 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -5958,8 +5958,15 @@
         VK_PRIMITIVE_TOPOLOGY_PATCH_LIST,
         VK_FALSE};
 
+    VkPipelineTessellationStateCreateInfo tsci{
+        VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
+        nullptr,
+        0,
+        3};
+
     VkPipelineObj pipe(m_device);
     pipe.SetInputAssembly(&iasci);
+    pipe.SetTessellation(&tsci);
     pipe.AddColorAttachment();
     pipe.AddShader(&vs);
     pipe.AddShader(&tcs);
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 29b834b..d933a0b 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -1252,21 +1252,25 @@
 
 void VkPipelineObj::SetMSAA(
     const VkPipelineMultisampleStateCreateInfo *ms_state) {
-    memcpy(&m_ms_state, ms_state, sizeof(VkPipelineMultisampleStateCreateInfo));
+    m_ms_state = *ms_state;
 }
 
 void VkPipelineObj::SetInputAssembly(
     const VkPipelineInputAssemblyStateCreateInfo *ia_state) {
-    memcpy(&m_ia_state, ia_state,
-           sizeof(VkPipelineInputAssemblyStateCreateInfo));
+    m_ia_state = *ia_state;
 }
 
 void VkPipelineObj::SetRasterization(
     const VkPipelineRasterizationStateCreateInfo *rs_state) {
-    memcpy(&m_rs_state, rs_state,
-           sizeof(VkPipelineRasterizationStateCreateInfo));
+    m_rs_state = *rs_state;
 }
 
+void VkPipelineObj::SetTessellation(
+    const VkPipelineTessellationStateCreateInfo *te_state) {
+    m_te_state = *te_state;
+}
+
+
 VkResult VkPipelineObj::CreateVKPipeline(VkPipelineLayout layout,
                                          VkRenderPass render_pass) {
     VkGraphicsPipelineCreateInfo info = {};
@@ -1314,7 +1318,6 @@
 
     info.renderPass = render_pass;
     info.subpass = 0;
-    info.pTessellationState = NULL;
     info.pInputAssemblyState = &m_ia_state;
     info.pViewportState = &m_vp_state;
     info.pRasterizationState = &m_rs_state;
@@ -1322,6 +1325,14 @@
     info.pDepthStencilState = &m_ds_state;
     info.pColorBlendState = &m_cb_state;
 
+    if (m_ia_state.topology == VK_PRIMITIVE_TOPOLOGY_PATCH_LIST) {
+        m_te_state.sType = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO;
+        info.pTessellationState = &m_te_state;
+    }
+    else {
+        info.pTessellationState = nullptr;
+    }
+
     return init_try(*m_device, info);
 }
 
diff --git a/tests/vkrenderframework.h b/tests/vkrenderframework.h
index f5f8b4d..164fb50 100644
--- a/tests/vkrenderframework.h
+++ b/tests/vkrenderframework.h
@@ -429,10 +429,9 @@
 
     void SetDepthStencil(const VkPipelineDepthStencilStateCreateInfo *);
     void SetMSAA(const VkPipelineMultisampleStateCreateInfo *ms_state);
-    void
-    SetInputAssembly(const VkPipelineInputAssemblyStateCreateInfo *ia_state);
-    void
-    SetRasterization(const VkPipelineRasterizationStateCreateInfo *rs_state);
+    void SetInputAssembly(const VkPipelineInputAssemblyStateCreateInfo *ia_state);
+    void SetRasterization(const VkPipelineRasterizationStateCreateInfo *rs_state);
+    void SetTessellation(const VkPipelineTessellationStateCreateInfo *te_state);
     void SetViewport(const vector<VkViewport> viewports);
     void SetScissor(const vector<VkRect2D> scissors);
     VkResult CreateVKPipeline(VkPipelineLayout layout,
@@ -446,6 +445,7 @@
     VkPipelineDepthStencilStateCreateInfo m_ds_state;
     VkPipelineViewportStateCreateInfo m_vp_state;
     VkPipelineMultisampleStateCreateInfo m_ms_state;
+    VkPipelineTessellationStateCreateInfo m_te_state;
     vector<VkDynamicState> m_dynamic_state_enables;
     vector<VkViewport> m_viewports;
     vector<VkRect2D> m_scissors;
