diff --git a/content.module b/content.module
index d12efa8..ec14bb3 100644
--- a/content.module
+++ b/content.module
@@ -1243,6 +1243,18 @@ function content_write_record($table, &$object, $update = array()) {
         $placeholders[] = 'NULL';
       }
     }
+    else if ((!drupal_property_exists($object, $field)) && (is_null($object->$field))) {
+      // Handle special case: setting a field to NULL.
+      $fields[] = $field;
+      if (empty($info['serialize'])) {
+        $placeholders[] = '%s';
+        $values[] = 'NULL';
+      }
+      else {
+        $placeholders[] = db_type_placeholder($info['type']);
+        $values[] = serialize($object->$field);
+      }
+    } 
   }
 
   // Build the SQL.
