diff -r 1155c1f7fed8 src/dict/dict-server.c
--- a/src/dict/dict-server.c	Wed Oct 01 16:07:57 2008 +0300
+++ b/src/dict/dict-server.c	Thu Oct 02 20:07:57 2008 +0200
@@ -526,12 +526,14 @@ struct dict_server *dict_server_init(con
 	server->path = i_strdup(path);
 	server->fd = fd;
 
-	server->fd = net_listen_unix_unlink_stale(path, 64);
 	if (server->fd == -1) {
-		if (errno == EADDRINUSE)
-			i_fatal("Socket already exists: %s", path);
-		else
-			i_fatal("net_listen_unix(%s) failed: %m", path);
+		server->fd = net_listen_unix_unlink_stale(path, 64);
+		if (server->fd == -1) {
+			if (errno == EADDRINUSE)
+				i_fatal("Socket already exists: %s", path);
+			else
+				i_fatal("net_listen_unix(%s) failed: %m", path);
+		}
 	}
 
 	server->io = io_add(server->fd, IO_READ,
