diff --git a/src/utils.c b/src/utils.c
index 83ae7fa7b604cf910450d865562c4a9e84a6e276..56ee31b81bdb2ac73b3f0150744e5577931351f7 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -124,16 +124,16 @@ bool parse_line_column(const char *str, ssize_t *line, ssize_t *column)
     if (comma == NULL)
 	return parse_num(str, line);
 
-    if (!parse_num(comma + 1, column))
-	return FALSE;
+    retval = parse_num(comma + 1, column);
 
     if (comma == str)
-	return TRUE;
+	return retval;
 
     firstpart = mallocstrcpy(NULL, str);
     firstpart[comma - str] = '\0';
 
     retval = parse_num(firstpart, line);
+
     free(firstpart);
 
     return retval;