diff --git a/src/workspace.c b/src/workspace.c
index 2fe96304..d3d2a8e2 100644
--- a/src/workspace.c
+++ b/src/workspace.c
@@ -49,12 +49,11 @@ Con *workspace_get(const char *num, bool *created) {
         workspace->name = sstrdup(num);
         /* We set ->num to the number if this workspace’s name consists only of
          * a positive number. Otherwise it’s a named ws and num will be -1. */
-        char *end;
-        long parsed_num = strtol(num, &end, 10);
+
+        long parsed_num = strtol(num, NULL, 10);
         if (parsed_num == LONG_MIN ||
             parsed_num == LONG_MAX ||
-            parsed_num < 0 ||
-            (end && *end != '\0'))
+            parsed_num <= 0)
             workspace->num = -1;
         else workspace->num = parsed_num;
         LOG("num = %d\n", workspace->num);