diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 264d16df1404dd49025b699a4fecc57d6fd4d438..5e6c537c8e64f11107850e130389ee4905559e3c 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -528,16 +528,10 @@ static void state_alpha(struct wined3d_context *context, const struct wined3d_st
      */
     if (state->textures[0])
     {
-        struct wined3d_texture *texture = state->textures[0];
-        GLenum texture_dimensions = texture->target;
+        struct wined3d_surface *surface = surface_from_resource(state->textures[0]->sub_resources[0]);
 
-        if (texture_dimensions == GL_TEXTURE_2D || texture_dimensions == GL_TEXTURE_RECTANGLE_ARB)
-        {
-            struct wined3d_surface *surf = surface_from_resource(texture->sub_resources[0]);
-
-            if (surf->CKeyFlags & WINEDDSD_CKSRCBLT)
-                enable_ckey = TRUE;
-        }
+        if (surface->CKeyFlags & WINEDDSD_CKSRCBLT)
+            enable_ckey = TRUE;
     }
 
     if (enable_ckey || context->last_was_ckey)