diff --git a/src/managesieve/main.c b/src/managesieve/main.c
index 8264c2efe33db895594c55cc0cbff4892bc99c5c..6ac753f92a0d9de83682a4c793de9a5a4cc4fd53 100644
--- a/src/managesieve/main.c
+++ b/src/managesieve/main.c
@@ -259,7 +259,8 @@ int main(int argc, char *argv[])
 			return FATAL_DEFAULT;
 		}
 	}
-	postlogin_socket_path = argv[1] == NULL ? NULL : t_abspath(argv[1]);
+	postlogin_socket_path = argv[optind] == NULL ? NULL :
+		t_abspath(argv[optind]);
 
 	master_service_init_finish(master_service);
 	master_service_set_die_callback(master_service, managesieve_die);