diff --git a/tools/widl/server.c b/tools/widl/server.c
index 9ffb6b5..5188965 100644
--- a/tools/widl/server.c
+++ b/tools/widl/server.c
@@ -101,12 +101,16 @@
     while (NEXT_LINK(var)) var = NEXT_LINK(var);
     while (var)
     {
+        const expr_t *size_is = get_attrp(var->attrs, ATTR_SIZEIS);
+        int has_size = size_is && (size_is->type != EXPR_VOID);
+        int is_string = is_attr(var->attrs, ATTR_STRING);
+
         in_attr = is_attr(var->attrs, ATTR_IN);
         out_attr = is_attr(var->attrs, ATTR_OUT);
         if (!out_attr && !in_attr)
             in_attr = 1;
 
-        if (!in_attr && !is_attr(var->attrs, ATTR_STRING))
+        if (!in_attr && !has_size && !is_string)
         {
             int indirection;
             print_server("");
@@ -143,6 +147,7 @@
     while (NEXT_LINK(var)) var = NEXT_LINK(var);
     while (var)
     {
+        int is_string = is_attr(var->attrs, ATTR_STRING);
         size_is = get_attrp(var->attrs, ATTR_SIZEIS);
         has_size = size_is && (size_is->type != EXPR_VOID);
         in_attr = is_attr(var->attrs, ATTR_IN);
@@ -165,7 +170,7 @@
                 write_expr(server, size_is, 1);
                 fprintf(server, " * %u);\n", get_type_memsize(type));
             }
-            else
+            else if (!is_string)
             {
                 fprintf(server, " = &_W%u;\n", i);
                 if (var->ptr_level > 1)
