diff --git a/src/frame.c b/src/frame.c index 16810c21739..cfa4851d027 100644 --- a/src/frame.c +++ b/src/frame.c @@ -2313,6 +2313,12 @@ enabled such bindings for that variable with `make-variable-frame-local'. */) prop = parms[i]; val = values[i]; store_frame_param (f, prop, val); + + /* Changing the background color might change the background + mode, so that we have to load new defface specs. + Call frame-set-background-mode to do that. */ + if (EQ (prop, Qbackground_color)) + call1 (Qframe_set_background_mode, frame); } }