diff --git a/wp-includes/class-wp-widget.php b/wp-includes/class-wp-widget.php
index e91f5cd9f9..e2afca0193 100644
--- a/wp-includes/class-wp-widget.php
+++ b/wp-includes/class-wp-widget.php
@@ -365,6 +365,15 @@ class WP_Widget {
                $this->_set( $widget_args['number'] );
                $instances = $this->get_settings();

+               if ( is_null( $instances[ $this->number ] ) ) {
+                       $instances[ $this->number ] = [];
+                       _doing_it_wrong(
+                               "WP_Widget::update( null )",
+                               __( 'WP_Widget::update() must return an array of settings or false.' ),
+                               '6.1.0'
+                       );
+               }
+
                if ( isset( $instances[ $this->number ] ) ) {
                        $instance = $instances[ $this->number ];