diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8e76e23932..25b6dedf6b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -102,6 +102,7 @@ v12ではいくつかインスタンスにとって破壊的な変更があり
 	* ハッシュタグまでnyaizeされている問題を修正
 	* 他
 * 投稿フォームでCWが下書きに保存されない問題を修正
+* 投稿フォームで公開範囲が下書きに保存されない問題を修正
 * TypeError: Cannot read property 'stack' of undefined が出ることがある問題を修正
 * AP: カスタム絵文字を連続して書くと他のサービスでカスタム絵文字と認識されない問題を修正
 * AP: audience (visibility) パースの修正
diff --git a/src/client/components/post-form.vue b/src/client/components/post-form.vue
index b2c27ec5db..53ea23de48 100644
--- a/src/client/components/post-form.vue
+++ b/src/client/components/post-form.vue
@@ -262,6 +262,8 @@ export default Vue.extend({
 					this.text = draft.data.text;
 					this.useCw = draft.data.useCw;
 					this.cw = draft.data.cw;
+					this.applyVisibility(draft.data.visibility);
+					this.localOnly = draft.data.localOnly;
 					this.files = (draft.data.files || []).filter(e => e);
 					if (draft.data.poll) {
 						this.poll = true;
@@ -303,6 +305,8 @@ export default Vue.extend({
 			this.$watch('cw', () => this.saveDraft());
 			this.$watch('poll', () => this.saveDraft());
 			this.$watch('files', () => this.saveDraft());
+			this.$watch('visibility', () => this.saveDraft());
+			this.$watch('localOnly', () => this.saveDraft());
 		},
 
 		trimmedLength(text: string) {
@@ -501,6 +505,8 @@ export default Vue.extend({
 					text: this.text,
 					useCw: this.useCw,
 					cw: this.cw,
+					visibility: this.visibility,
+					localOnly: this.localOnly,
 					files: this.files,
 					poll: this.poll && this.$refs.poll ? (this.$refs.poll as any).get() : undefined
 				}