diff --git a/src/base/config.c b/src/base/config.c
index b8bf452b6210ba134a4042aa7af260d476b1e140..cddcdd1c4b210e59acfdb726c4dd46791b33b3a0 100644
--- a/src/base/config.c
+++ b/src/base/config.c
@@ -224,7 +224,11 @@ config_detect_file(char *conf, size_t conf_len)
     memset(conf, 0, conf_len * sizeof(char));
 
     /* Try the current working dir config file. */
+#if !(defined(LKT_OS_WIN) && (LKT_OS_WIN == 1))
     if (getcwd(conf, to_size_t(conf_len)-1) != NULL) {
+#else
+    if (getcwd(conf, (int)(conf_len)-1) != NULL) {
+#endif
         strncat(conf, "/lektor.ini", conf_len - 1);
         LOG_INFO("CONFIG", "Trying %s", conf);
         if (!access(conf, R_OK | F_OK))
diff --git a/src/net/listen.c b/src/net/listen.c
index fbe92597520202defa4b4a0552688952f04c9011..d6a23ea60d19b509a87abb8b6c13dc05c4a4426b 100644
--- a/src/net/listen.c
+++ b/src/net/listen.c
@@ -648,7 +648,11 @@ init_listening_socket_net(const char *host, const char *port)
 }
 
 PRIVATE_FUNCTION int
+#if defined(LKT_OS_WIN) && (LKT_OS_WIN == 1)
+accept_all(SOCKET listen_fd, struct pollfd *fds, size_t fds_max, ULONG *fds_len)
+#else
 accept_all(SOCKET listen_fd, struct pollfd *fds, size_t fds_max, size_t *fds_len)
+#endif
 {
     SOCKET fd;
     struct sockaddr_in peer_addr;