diff --git a/src/wp-includes/class-wp-widget.php b/src/wp-includes/class-wp-widget.php
index e91f5cd9f9..965b52dbad 100644
--- a/src/wp-includes/class-wp-widget.php
+++ b/src/wp-includes/class-wp-widget.php
@@ -597,7 +597,12 @@ class WP_Widget {
 	 */
 	public function save_settings( $settings ) {
 		$settings['_multiwidget'] = 1;
-		update_option( $this->option_name, $settings );
+
+		if ( isset( $this->alt_option_name ) ) {
+			update_option( $this->alt_option_name, $settings );
+		} else {
+			update_option( $this->option_name, $settings );
+		}
 	}
 
 	/**
@@ -609,15 +614,17 @@ class WP_Widget {
 	 */
 	public function get_settings() {
 
-		$settings = get_option( $this->option_name );
+		$settings = array();
 
+		if ( isset( $this->alt_option_name ) ) {
+			$settings = get_option( $this->alt_option_name );
+		} else {
+			$settings = get_option( $this->option_name );
+		}
+		
 		if ( false === $settings ) {
-			if ( isset( $this->alt_option_name ) ) {
-				$settings = get_option( $this->alt_option_name );
-			} else {
-				// Save an option so it can be autoloaded next time.
-				$this->save_settings( array() );
-			}
+			// Save an option so it can be autoloaded next time.
+			$this->save_settings( array() );
 		}
 
 		if ( ! is_array( $settings ) && ! ( $settings instanceof ArrayObject || $settings instanceof ArrayIterator ) ) {
