diff --git a/tdb/tdb.c b/tdb/tdb.c
index 23d0bf02688c9291178827367cdf5c58870ea1d3..898316abe5ce2dfcae80c149bbdb9ea3e8f98708 100644
--- a/tdb/tdb.c
+++ b/tdb/tdb.c
@@ -368,7 +368,7 @@ static int tdb_oob(TDB_CONTEXT *tdb, tdb_off len, int probe)
 	if (fstat(tdb->fd, &st) == -1)
 		return TDB_ERRCODE(TDB_ERR_IO, -1);
 
-	if (st.st_size < (size_t)len) {
+	if (st.st_size < (off_t)len) {
 		if (!probe) {
 			/* Ensure ecode is set for log fn. */
 			tdb->ecode = TDB_ERR_IO;