diff --git a/packages/client/src/pizzax.ts b/packages/client/src/pizzax.ts
index bbd68e762f..479799d1f9 100644
--- a/packages/client/src/pizzax.ts
+++ b/packages/client/src/pizzax.ts
@@ -55,7 +55,7 @@ export class Storage<T extends StateDef> {
 		return new Promise(async (resolve, reject) => {
 			await this.migrate();
 
-			const deviceState: State<T> = await get(this.deviceStateKeyName);
+			const deviceState: State<T> = await get(this.deviceStateKeyName) || {};
 			const deviceAccountState = $i ? await get(this.deviceAccountStateKeyName) || {} : {};
 			const registryCache = $i ? await get(this.registryCacheKeyName) || {} : {};
 	
diff --git a/packages/client/src/ui/chat/index.vue b/packages/client/src/ui/chat/index.vue
index f66ab4dcee..10cad6b98e 100644
--- a/packages/client/src/ui/chat/index.vue
+++ b/packages/client/src/ui/chat/index.vue
@@ -160,12 +160,14 @@ export default defineComponent({
 		}
 	},
 
-	created() {
+	async created() {
 		if (window.innerWidth < 1024) {
 			localStorage.setItem('ui', 'default');
 			location.reload();
 		}
 
+		await store.ready;
+
 		os.api('users/lists/list').then(lists => {
 			this.lists = lists;
 		});
diff --git a/packages/client/src/ui/deck.vue b/packages/client/src/ui/deck.vue
index 73dc83180f..e1718d3df9 100644
--- a/packages/client/src/ui/deck.vue
+++ b/packages/client/src/ui/deck.vue
@@ -68,7 +68,7 @@ export default defineComponent({
 		DeckColumnCore,
 	},
 
-	setup() {
+	async setup() {
 		const isMobile = ref(window.innerWidth <= 500);
 		window.addEventListener('resize', () => {
 			isMobile.value = window.innerWidth <= 500;
@@ -81,6 +81,8 @@ export default defineComponent({
 			drawerMenuShowing.value = false;
 		});
 
+		await deckStore.ready;
+
 		const columns = deckStore.reactiveState.columns;
 		const layout = deckStore.reactiveState.layout;
 		const menuIndicated = computed(() => {
diff --git a/packages/client/src/ui/deck/deck-store.ts b/packages/client/src/ui/deck/deck-store.ts
index c9200ad981..6b6b02f3f9 100644
--- a/packages/client/src/ui/deck/deck-store.ts
+++ b/packages/client/src/ui/deck/deck-store.ts
@@ -61,8 +61,6 @@ export const deckStore = markRaw(new Storage('deck', {
 export const loadDeck = async () => {
 	let deck;
 
-	await deckStore.ready;
-
 	try {
 		deck = await api('i/registry/get', {
 			scope: ['client', 'deck', 'profiles'],