diff --git a/src/config-win32.h b/src/config-win32.h
index 64a8ca9860f575e96248baa4beace0e43a228dc1..b9c407060066e3f9f7a541657e301b9f6670202f 100644
--- a/src/config-win32.h
+++ b/src/config-win32.h
@@ -21,10 +21,12 @@
 #define HAVE_FCNTL_H 1
 
 /* Define if you have utime() */
+#if !defined(__BORLANDC__)
 #define HAVE_UTIME 1
 
 /* Define if you have the <sys/utime.h> header file */
 #define HAVE_SYS_UTIME_H 1
+#endif
 
 /* Define if you have the <locale.h> header file */
 #define HAVE_LOCALE_H 1
diff --git a/src/main.c b/src/main.c
index e8c029ab3542d118e40ae8adbff85c1f64b8ea7a..653deb1a5b4283d3e0367956dc0b86493392db15 100644
--- a/src/main.c
+++ b/src/main.c
@@ -216,8 +216,13 @@ char *strdup(char *str)
 
 #if !defined(HAVE_FTRUNCATE) && defined(WIN32)
 /*
- * Truncate a file handle at a 64-bit position 'where'
+ * Truncate a file handle at a 64-bit position 'where'.
+ * Borland doesn't even support 64-bit types.
  */
+#ifdef __BORLANDC__
+#define _lseeki64(hnd,ofs,whence) lseek(hnd,ofs,whence)
+#endif
+
 static int ftruncate (int fd, curl_off_t where)
 {
   curl_off_t curr;