diff --git a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
index b28e2bf..2d58bed 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
@@ -17,7 +17,6 @@
 package com.android.settings.accessibility;
 
 import android.content.ComponentName;
-import android.content.res.Resources;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.Menu;
@@ -37,6 +36,7 @@
 import com.android.settingslib.core.instrumentation.Instrumentable;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
+import com.google.android.setupdesign.util.ThemeHelper;
 
 public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivity {
 
@@ -99,7 +99,8 @@
     @Override
     protected void onCreate(Bundle savedState) {
         super.onCreate(savedState);
-
+        setTheme(SetupWizardUtils.getTheme(this, getIntent()));
+        ThemeHelper.trySetDynamicColor(this);
         tryLaunchFontSizeSettings();
         findViewById(R.id.content_parent).setFitsSystemWindows(false);
     }
@@ -125,11 +126,4 @@
             finish();
         }
     }
-
-    @Override
-    protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
-        final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
-        theme.applyStyle(R.style.SetupWizardPartnerResource, true);
-        super.onApplyThemeResource(theme, new_resid, first);
-    }
 }
