diff --git a/apps/documenteditor/mobile/src/controller/settings/Download.jsx b/apps/documenteditor/mobile/src/controller/settings/Download.jsx
index 2b1cfb2d1..06b13bb85 100644
--- a/apps/documenteditor/mobile/src/controller/settings/Download.jsx
+++ b/apps/documenteditor/mobile/src/controller/settings/Download.jsx
@@ -31,11 +31,12 @@ class DownloadController extends Component {
                     _t.notcriticalErrorTitle,
                     () => {
                         if (format == Asc.c_oAscFileType.TXT) {
-                            const isDocReady = this.props.storeAppOptions.isDocReady;
                             const advOptions = api.asc_getAdvancedOptions();
                             
                             this.props.storeEncoding.initOptions({type: Asc.c_oAscAdvancedOptionsID.TXT, advOptions, formatOptions: new Asc.asc_CDownloadOptions(format)});
-                            onAdvancedOptions(Asc.c_oAscAdvancedOptionsID.TXT, api.asc_getAdvancedOptions(), 2, new Asc.asc_CDownloadOptions(format), _t, isDocReady);
+                            this.props.storeEncoding.initPages();
+                            this.props.storeEncoding.changeEncoding(advOptions.asc_getRecommendedSettings().asc_getCodePage());
+                            f7.views.current.router.navigate('/encoding/');
                         }
                         else {
                             this.closeModal();
@@ -68,67 +69,8 @@ const onAdvancedOptions = (type, advOptions, mode, formatOptions, _t, isDocReady
     if ($$('.dlg-adv-options.modal-in').length > 0) return;
 
     const api = Common.EditorApi.get();
-    if (type == Asc.c_oAscAdvancedOptionsID.TXT) {
-        f7.views.current.router.navigate('/encoding/');
-        // let picker;
-        // const pages = [];
-        // const pagesName = [];
-        // for (let page of advOptions.asc_getCodePages()) {
-        //     pages.push(page.asc_getCodePage());
-        //     pagesName.push(page.asc_getCodePageName());
-        // }
-        // Common.Notifications.trigger('preloader:close');
-        // Common.Notifications.trigger('preloader:endAction', Asc.c_oAscAsyncActionType['BlockInteraction'], -256, true);
-        // const buttons = [];
-        // if (mode === 2) {
-        //     buttons.push({
-        //         text: _t.textCancel
-        //     });
-        // }
-        // buttons.push({
-        //     text: 'OK',
-        //     bold: true,
-        //     onClick: function() {
-        //         const encoding = picker.value;
-        //         if (mode==2) {
-        //             formatOptions && formatOptions.asc_setAdvancedOptions(new Asc.asc_CTextOptions(encoding));
-        //             api.asc_DownloadAs(formatOptions);
-        //         } else {
-        //             api.asc_setAdvancedOptions(type, new Asc.asc_CTextOptions(encoding));
-        //         }
-        //         if (!isDocReady) {
-        //             Common.Notifications.trigger('preloader:beginAction', Asc.c_oAscAsyncActionType['BlockInteraction'], -256);
-        //         }
-        //     }
-        // });
-        // const dialog = f7.dialog.create({
-        //     title: _t.advTxtOptions,
-        //     text: '',
-        //     content:
-        //         '<div class="content-block">' +
-        //         '<div class="row">' +
-        //         '<div class="col-100">' + _t.textEncoding + '</div>' +
-        //         '</div>' +
-        //         '<div id="txt-encoding"></div>' +
-        //         '</div>',
-        //     buttons: buttons,
-        //     cssClass: 'dlg-adv-options'
-        // }).open();
-        // dialog.on('opened', () => {
-        //     picker = f7.picker.create({
-        //         containerEl: document.getElementById('txt-encoding'),
-        //         cols: [
-        //             {
-        //                 values: pages,
-        //                 displayValues: pagesName
-        //             }
-        //         ],
-        //         toolbar: false,
-        //         rotateEffect: true,
-        //         value: [advOptions.asc_getRecommendedSettings().asc_getCodePage()],
-        //     });
-        // });
-    } else if (type == Asc.c_oAscAdvancedOptionsID.DRM) {
+
+    if (type == Asc.c_oAscAdvancedOptionsID.DRM) {
         Common.Notifications.trigger('preloader:close');
         Common.Notifications.trigger('preloader:endAction', Asc.c_oAscAsyncActionType['BlockInteraction'], -256, true);
         const buttons = [{
diff --git a/apps/documenteditor/mobile/src/controller/settings/Encoding.jsx b/apps/documenteditor/mobile/src/controller/settings/Encoding.jsx
index f594149bf..2a272aa64 100644
--- a/apps/documenteditor/mobile/src/controller/settings/Encoding.jsx
+++ b/apps/documenteditor/mobile/src/controller/settings/Encoding.jsx
@@ -1,18 +1,28 @@
 import React, { Component } from 'react';
 import { Device } from '../../../../../common/mobile/utils/device';
-import { f7, Page, Navbar, List, ListItem, BlockTitle, ListButton, Popover, Popup } from "framework7-react";
-import { withTranslation } from 'react-i18next';
-import { observer, inject } from "mobx-react";
+import { f7 } from "framework7-react";
 import { Encoding } from "../../view/settings/Encoding";
 
 class EncodingController extends Component {
     constructor(props) {
         super(props);
+        this.onSaveFormat = this.onSaveFormat.bind(this);
     }
 
-    onSaveFormat(type, value) {
+    closeModal() {
+        if (Device.phone) {
+            f7.sheet.close('.settings-popup', true);
+        } else {
+            f7.popover.close('#settings-popover');
+        }
+    }
+
+    onSaveFormat(formatOptions, value) {
         const api = Common.EditorApi.get();
-        api.asc_setAdvancedOptions(type, new Asc.asc_CTextOptions(value));
+
+        this.closeModal();
+        formatOptions && formatOptions.asc_setAdvancedOptions(new Asc.asc_CTextOptions(value));
+        api.asc_DownloadAs(formatOptions);
     }
 
     render() {
diff --git a/apps/documenteditor/mobile/src/view/settings/Encoding.jsx b/apps/documenteditor/mobile/src/view/settings/Encoding.jsx
index 7fc6330fc..f4acd2bd4 100644
--- a/apps/documenteditor/mobile/src/view/settings/Encoding.jsx
+++ b/apps/documenteditor/mobile/src/view/settings/Encoding.jsx
@@ -7,11 +7,9 @@ const PageEncoding = props => {
     const { t } = useTranslation();
     const _t = t("Settings", { returnObjects: true });
     const storeEncoding = props.storeEncoding;
+    const valueEncoding= storeEncoding.valueEncoding;
     const nameEncoding = storeEncoding.nameEncoding;
-    const type = storeEncoding.type;
-    storeEncoding.initPages();
-    const advOptions = storeEncoding.advOptions;
-    const pagesName = storeEncoding.pagesName;
+    const formatOptions = storeEncoding.formatOptions;
     
     return (
         <Page>
@@ -21,7 +19,7 @@ const PageEncoding = props => {
                 <ListItem title={nameEncoding} href="/encoding-list/"></ListItem>
             </List>
             <List className="buttons-list">
-                <ListButton className='button-fill button-raised' title={_t.textDownload} onClick={() => props.onSaveFormat(type, storeEncoding.valueEncoding)}></ListButton>
+                <ListButton className='button-fill button-raised' title={_t.textDownload} onClick={() => props.onSaveFormat(formatOptions, valueEncoding)}></ListButton>
             </List>
         </Page>
     )
@@ -31,8 +29,7 @@ const PageEncodingList = props => {
     const { t } = useTranslation();
     const _t = t("Settings", { returnObjects: true });
     const storeEncoding = props.storeEncoding;
-    const encoding = storeEncoding.encoding;
-    // const advOptions = storeEncoding.advOptions;
+    const valueEncoding = storeEncoding.valueEncoding;
     const pages = storeEncoding.pages;
     const pagesName = storeEncoding.pagesName;
     
@@ -43,7 +40,7 @@ const PageEncodingList = props => {
             <List>
                 {pagesName.map((name, index) => {
                     return (
-                        <ListItem radio checked={encoding === pages[index]} title={name} key={index} value={pages[index]} onChange={() => {
+                        <ListItem radio checked={valueEncoding === pages[index]} title={name} key={index} value={pages[index]} onChange={() => {
                             storeEncoding.changeEncoding(pages[index]);
                             f7.views.current.router.back();
                         }}></ListItem>