diff --git a/function.c b/function.c
index c70c155e..edfacdf1 100644
--- a/function.c
+++ b/function.c
@@ -1245,7 +1245,7 @@ func_if (char *o, char **argv, const char *funcname UNUSED)
     {
       char *expansion = expand_argument (begp, endp+1);
 
-      result = strlen (expansion);
+      result = expansion[0] != '\0';
       free (expansion);
     }