diff --git a/includes/database/sqlite/query.inc b/includes/database/sqlite/query.inc
index d456afaafd155186b89697e3ee5fc5a6dc786b9b..a176ed64937c90e9e13ce7a680a2d0ddefefd9d9 100644
--- a/includes/database/sqlite/query.inc
+++ b/includes/database/sqlite/query.inc
@@ -101,7 +101,7 @@ public function execute() {
       }
       elseif (!isset($data)) {
         // The field will be set to NULL.
-        $condition->isNull($field);
+        $condition->isNotNull($field);
       }
       else {
         $condition->condition($field, $data, '<>');
diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test
index 2a086ceedae6696355bfd72974142cf83f90d3bc..231355ceb1d45fff45311381fe1191505f9cead0 100644
--- a/modules/simpletest/tests/database_test.test
+++ b/modules/simpletest/tests/database_test.test
@@ -718,6 +718,21 @@ class DatabaseUpdateTestCase extends DatabaseTestCase {
     $this->assertIdentical($saved_name, 'Tiffany', t('Updated name successfully.'));
   }
 
+  /**
+   * Confirm updating to NULL.
+   */
+  function testSimpleNullUpdate() {
+    $this->ensureSampleDataNull();
+    $num_updated = db_update('test_null')
+      ->fields(array('age' => NULL))
+      ->condition('name', 'Kermit')
+      ->execute();
+    $this->assertIdentical($num_updated, 1, t('Updated 1 record.'));
+
+    $saved_age = db_query('SELECT age FROM {test_null} WHERE name = :name', array(':name' => 'Kermit'))->fetchField();
+    $this->assertNull($saved_age, t('Updated name successfully.'));
+  }
+
   /**
    * Confirm that we can update a multiple records successfully.
    */