diff --git a/smartmontools/CHANGELOG b/smartmontools/CHANGELOG
index de4561070e4e68443a7fc6e9e9c0383b9ede8e09..fe79e9014b5fc804235f594dba1ddbe3302cddb3 100644
--- a/smartmontools/CHANGELOG
+++ b/smartmontools/CHANGELOG
@@ -43,8 +43,12 @@ NOTES FOR FUTURE RELEASES: see TODO file.
 
 <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
 
+  [CF] Linux: Fix spin-up of SATA drive if '-n standby' is used
+       (ticket #37).  For some reason, this happens if the SCSI/SAT
+       device is opened with O_RDWR instead of O_RDONLY.
+
   [CF] Windows: Fix parsing of 'tw_cli' output for 3ware 9.5.x release
-       (ticket #43.)
+       (ticket #43).
 
   [CF] Add USB IDs of Seagate FreeAgent Go, Seagate Expansion Portable
        and WD My Passport (IDE).
diff --git a/smartmontools/NEWS b/smartmontools/NEWS
index 89bc563c1fa08415f5d42e135e5649d26d963ef1..97f78521b7e9c517e6071bd0f8ce227285cc57a5 100644
--- a/smartmontools/NEWS
+++ b/smartmontools/NEWS
@@ -15,6 +15,7 @@ Summary: smartmontools release 5.40
 - Fix regression in smartctl option '-q, --quietmode'.
 - Fix regression in smartd directive '-l selftest'.
 - Linux: Allow smartd 'DEVICESCAN -d sat'.
+- Linux: Fix spin-up of SATA drive if '-n standby' is used.
 - Windows: Fix parsing of 3ware 'tw_cli' output.
 
 Date 2009-12-09
diff --git a/smartmontools/os_linux.cpp b/smartmontools/os_linux.cpp
index 96d7d938385296db08a226bc66d2c1183f5d664a..103af7b26ee98650f6e661818a068bccf072c952 100644
--- a/smartmontools/os_linux.cpp
+++ b/smartmontools/os_linux.cpp
@@ -845,7 +845,9 @@ private:
 linux_scsi_device::linux_scsi_device(smart_interface * intf,
   const char * dev_name, const char * req_type, bool scanning /*= false*/)
 : smart_device(intf, dev_name, "scsi", req_type),
-  linux_smart_device(O_RDWR | O_NONBLOCK, O_RDONLY | O_NONBLOCK),
+  // If opened with O_RDWR, a SATA disk in standby mode
+  // may spin-up after device close().
+  linux_smart_device(O_RDONLY | O_NONBLOCK),
   m_scanning(scanning)
 {
 }