diff --git a/src/knot/ctl/knotc_main.c b/src/knot/ctl/knotc_main.c
index 3967a95258fde6ef3210ba605336b79ea809da0f..e2c42a1b1a67cc58d7892703c7165e0c5b59260b 100644
--- a/src/knot/ctl/knotc_main.c
+++ b/src/knot/ctl/knotc_main.c
@@ -544,18 +544,15 @@ int main(int argc, char **argv)
 		if (strchr(r_addr, ':'))
 			ctl_if->family = AF_INET6;
 
-		/* Check if address could be a UNIX socket. */
-		if (strchr(r_addr, '/')) {
-			/* Check if file is really a socket. */
-			struct stat st;
-			if (stat(r_addr, &st) == 0 && !S_ISSOCK(st.st_mode)) {
-				log_server_warning("Address '%s' is not a "
-				                   "UNIX socket.\n", r_addr);
-			}
-
+		/* Is a valid UNIX socket or at least contains slash ? */
+		struct stat st;
+		bool has_slash = strchr(r_addr, '/') != NULL;
+		bool is_file = stat(r_addr, &st) == 0;
+		if (has_slash || (is_file && S_ISSOCK(st.st_mode))) {
 			ctl_if->family = AF_UNIX;
 			r_port = 0; /* Override. */
 		}
+
 	}
 	if (r_port > -1) ctl_if->port = r_port;