diff --git a/smartmontools/CHANGELOG b/smartmontools/CHANGELOG
index c56a114b30d57f2a56ebaaa30fde2c720b01fe04..8fce2465033acfb77a81cdf7859343eddd58a641 100644
--- a/smartmontools/CHANGELOG
+++ b/smartmontools/CHANGELOG
@@ -43,6 +43,9 @@ NOTES FOR FUTURE RELEASES: see TODO file.
 
 <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
 
+  [AS] FreeBSD: disable 48-bit commands in the ata_pass_through interface, 
+       there is no 48-bit support in the IOCATAREQUEST ioctl.
+
   [CF] smartctl: Add option '-l scterc[,READTIME,WRITETIME]' to get/set
        the SCT Error Recovery Control time limit (ticket #50).
 
diff --git a/smartmontools/os_freebsd.cpp b/smartmontools/os_freebsd.cpp
index 5d114c2feeac33cc6e33bb1f791bd2f9cbc59790..cc832543b0ec6c0a64858a7b37a9d974c2c2a299 100644
--- a/smartmontools/os_freebsd.cpp
+++ b/smartmontools/os_freebsd.cpp
@@ -261,7 +261,11 @@ int freebsd_ata_device::do_cmd( struct ata_ioc_request* request)
 
 bool freebsd_ata_device::ata_pass_through(const ata_cmd_in & in, ata_cmd_out & out)
 {
-  if (!ata_cmd_is_ok(in, true, true, true)) // data_out_support
+  if (!ata_cmd_is_ok(in,
+    true,  // data_out_support
+    true,  // multi_sector_support
+    false) // no ata_48bit_support via IOCATAREQUEST
+    ) 
     return false;
 
   struct ata_ioc_request request;