diff --git a/src/kiss.c b/src/kiss.c
index 897396c..d7047c3 100644
--- a/src/kiss.c
+++ b/src/kiss.c
@@ -73,7 +73,7 @@ patty_kiss_tnc *patty_kiss_tnc_new(const char *device) {
         goto error_stat;
     }
 
-    if (st.st_mode & S_IFSOCK) {
+    if ((st.st_mode & S_IFMT) == S_IFSOCK) {
         struct sockaddr_un addr;
 
         if (strlen(device) > sizeof(addr.sun_path)) {