diff --git a/dlls/user32/dde_client.c b/dlls/user32/dde_client.c
index 50b00fa355f40cc526e9803fd80520a12f9d679a..cb9fbc84ebbaaa05f984b1f714d9c72f7d312beb 100644
--- a/dlls/user32/dde_client.c
+++ b/dlls/user32/dde_client.c
@@ -725,7 +725,7 @@ static WDML_XACT*	WDML_ClientQueuePoke(WDML_CONV* pConv, LPVOID pData, DWORD cbD
 	if (ddePoke)
 	{
 	    memcpy(ddePoke->Value, pData, cbData);
-	    ddePoke->fRelease = FALSE; /* FIXME: app owned ? */
+	    ddePoke->fRelease = TRUE;
 	    ddePoke->cfFormat = wFmt;
 	    GlobalUnlock(pXAct->hMem);
 	}
diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c
index 3ecab1f1025ffbf4059cdb5cb665ef4478ab7e13..cea7846d8e95e6918b9ba3a4ef349f904398c37a 100644
--- a/dlls/user32/tests/dde.c
+++ b/dlls/user32/tests/dde.c
@@ -176,12 +176,8 @@ static LRESULT WINAPI dde_server_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPA
         if (msg_index == 7) todo_wine
         {
             ok(poke->unused == 0, "Expected 0, got %d\n", poke->unused);
-            ok(poke->cfFormat == CF_TEXT, "Expected CF_TEXT, got %d\n", poke->cfFormat);
-        }
-
-        todo_wine
-        {
             ok(poke->fRelease == TRUE, "Expected TRUE, got %d\n", poke->fRelease);
+            ok(poke->cfFormat == CF_TEXT, "Expected CF_TEXT, got %d\n", poke->cfFormat);
         }
 
         if (msg_index == 5)