diff -up cups-1.7b1/scheduler/listen.c.freebind cups-1.7b1/scheduler/listen.c --- cups-1.7b1/scheduler/listen.c.freebind 2013-06-20 11:48:17.427352639 +0100 +++ cups-1.7b1/scheduler/listen.c 2013-06-20 11:51:15.023288361 +0100 @@ -198,6 +198,10 @@ cupsdStartListening(void) setsockopt(lis->fd, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val)); #endif /* __sun */ +#ifdef __linux + setsockopt(lis->fd, IPPROTO_IP, IP_FREEBIND, &val, sizeof(val)); +#endif /* __linux */ + /* * Bind to the port we found... */