Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 3443)
+++ wp-includes/functions.php	(working copy)
@@ -273,6 +273,9 @@
 function get_settings($setting) {
 	global $wpdb;
 
+	if (wp_cache_get($setting, 'notoptions')) {
+		return false;
+	}
 	$value = wp_cache_get($setting, 'options');
 
 	if ( false === $value ) {
@@ -285,7 +288,9 @@
 		if( is_object( $row) ) { // Has to be get_row instead of get_var because of funkiness with 0, false, null values
 			$value = $row->option_value;
 			wp_cache_set($setting, $value, 'options');
-		} else {
+		} else { //setting not found
+			//do $setting => $setting to be nice and flexible :)
+			wp_cache_set($setting, $setting, 'notoptions');
 			return false;
 		}
 	}
@@ -368,6 +373,10 @@
 		$newvalue = serialize($newvalue);
 
 	wp_cache_set($option_name, $newvalue, 'options');
+	
+	if (wp_cache_get($option_name, 'notoptions')) {
+		wp_cache_delete($option_name, 'notoptions');
+	}
 
 	$newvalue = $wpdb->escape($newvalue);
 	$option_name = $wpdb->escape($option_name);
