diff --git a/CHANGELOG b/CHANGELOG
index 3ae8058ac9279ddc5b383b7a27068127d20ab8d2..f3481222cedb19e0c9d7cee62378566c6f4635be 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,8 @@
 Changes for U-Boot 1.0.0:
 ======================================================================
 
+* Fix build problems under FreeBSD
+
 * Add generic filesystem image type
 
 * Make fatload set filesize environment variable
diff --git a/tools/mkimage.c b/tools/mkimage.c
index 05c6f97be4cc4cff185260bb9a9fd369ed861c11..148ee8dc8377af06870cee37344aa3372b5d592b 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -422,7 +422,7 @@ NXTARG:		;
 	}
 
 	/* We're a bit of paranoid */
-#if defined(_POSIX_SYNCHRONIZED_IO) && !defined(__sun__)
+#if defined(_POSIX_SYNCHRONIZED_IO) && !defined(__sun__) && !defined(__FreeBSD__)
 	(void) fdatasync (ifd);
 #else
 	(void) fsync (ifd);
@@ -472,7 +472,7 @@ NXTARG:		;
 	(void) munmap((void *)ptr, sbuf.st_size);
 
 	/* We're a bit of paranoid */
-#if defined(_POSIX_SYNCHRONIZED_IO) && !defined(__sun__)
+#if defined(_POSIX_SYNCHRONIZED_IO) && !defined(__sun__) && !defined(__FreeBSD__)
 	(void) fdatasync (ifd);
 #else
 	(void) fsync (ifd);