diff --git a/glave-generate.py b/glave-generate.py
index d65aafb..dfac716 100755
--- a/glave-generate.py
+++ b/glave-generate.py
@@ -2109,10 +2109,11 @@
         cd_body.append('                XGL_DEVICE device;')
         cd_body.append('                if (m_debugLevel > 0)')
         cd_body.append('                {')
-        cd_body.append('                    XGL_DEVICE_CREATE_INFO cInfo, *ci;')
+        cd_body.append('                    XGL_DEVICE_CREATE_INFO cInfo, *ci, *pCreateInfoSaved;')
         cd_body.append('                    // TODO what is the real list of layers to be running with??')
         cd_body.append('                    const XGL_CHAR * layersStr[2] = {(XGL_CHAR *) "DrawState", (XGL_CHAR *) "ObjectTracker"};')
         cd_body.append('                    XGL_LAYER_CREATE_INFO layerInfo;')
+        cd_body.append('                    pCreateInfoSaved = (XGL_DEVICE_CREATE_INFO *) pPacket->pCreateInfo;')
         cd_body.append('                    ci = (XGL_DEVICE_CREATE_INFO *) pPacket->pCreateInfo;')
         cd_body.append('                    while (ci->pNext != NULL)')
         cd_body.append('                        ci = (XGL_DEVICE_CREATE_INFO *) ci->pNext;')
@@ -2126,6 +2127,9 @@
         cd_body.append('                    cInfo.maxValidationLevel = (XGL_VALIDATION_LEVEL)((m_debugLevel <= 4) ? XGL_VALIDATION_LEVEL_0 + m_debugLevel : XGL_VALIDATION_LEVEL_0);')
         cd_body.append('                    pPacket->pCreateInfo = &cInfo;')
         cd_body.append('                    replayResult = m_xglFuncs.real_xglCreateDevice(remap(pPacket->gpu), pPacket->pCreateInfo, &device);')
+        cd_body.append('                    // restore the packet for next replay')
+        cd_body.append('                    ci->pNext = NULL;')
+        cd_body.append('                    pPacket->pCreateInfo = pCreateInfoSaved;')
         cd_body.append('                    if (xglDbgRegisterMsgCallback(g_fpDbgMsgCallback, NULL) != XGL_SUCCESS)')
         cd_body.append('                        glv_LogError("Failed to register xgl callback for replayer error handling\\n");')
         cd_body.append('                }')
