diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
index f4f3b35f20c3585137c29df58f0e13ae568e8927..2ffb718581b387d0b74a387dca4a93d3aa0333e4 100644
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -953,7 +953,7 @@ static void wined3d_unordered_access_view_cs_init(void *object)
         context = context_acquire(resource->device, NULL, 0);
         gl_info = context->gl_info;
         create_buffer_view(&view->gl_view, context, desc, buffer, view->format);
-        if (desc->flags & WINED3D_VIEW_BUFFER_COUNTER)
+        if (desc->flags & (WINED3D_VIEW_BUFFER_COUNTER | WINED3D_VIEW_BUFFER_APPEND))
         {
             static const GLuint initial_value = 0;
             GL_EXTCALL(glGenBuffers(1, &view->counter_bo));
@@ -994,9 +994,6 @@ static HRESULT wined3d_unordered_access_view_init(struct wined3d_unordered_acces
         return E_INVALIDARG;
     view->desc = *desc;
 
-    if (desc->flags & WINED3D_VIEW_BUFFER_APPEND)
-        FIXME("Unhandled view flags %#x.\n", desc->flags);
-
     wined3d_resource_incref(view->resource = resource);
 
     wined3d_cs_init_object(resource->device->cs, wined3d_unordered_access_view_cs_init, view);