diff --git a/app/actions/index.js b/app/actions/index.js
index 5ea2988121454d85a0e2968b07e8d879a12d81dc..7943fd9d0e3ebcea6db208f0743077c8eee5f90f 100644
--- a/app/actions/index.js
+++ b/app/actions/index.js
@@ -40,12 +40,6 @@ export function addSettings(settings) {
 		payload: settings
 	};
 }
-export function setAllSettings(settings) {
-	return {
-		type: types.SET_ALL_SETTINGS,
-		payload: settings
-	};
-}
 
 export function login() {
 	return {
diff --git a/app/constants/types.js b/app/constants/types.js
index 8c5a6c8eeb4741da188f1cd0c887d0c95241f38b..0a7ec86c8a378578a2078e8f4e572590411fb47b 100644
--- a/app/constants/types.js
+++ b/app/constants/types.js
@@ -1,4 +1,3 @@
 export const SET_CURRENT_SERVER = 'SET_CURRENT_SERVER';
-export const SET_ALL_SETTINGS = 'SET_ALL_SETTINGS';
 export const SET_CUSTOM_EMOJIS = 'SET_CUSTOM_EMOJIS';
 export const ADD_SETTINGS = 'ADD_SETTINGS';
diff --git a/app/lib/methods/getSettings.js b/app/lib/methods/getSettings.js
index ab6c833040cdfd26e2c00ea6ce1c16f798d6dc58..e1d1de7185bb76b828fb694b7bd4152aac95147d 100644
--- a/app/lib/methods/getSettings.js
+++ b/app/lib/methods/getSettings.js
@@ -52,21 +52,17 @@ const serverInfoUpdate = async(serverInfo, iconSetting) => {
 	});
 };
 
-export function getSetting({ server, setting }) {
-	return new Promise(async(resolve, reject) => {
-		try {
-			const result = await fetch(`${ server }/api/v1/settings.public?query={"_id":{"$in":["${ setting }"]}}`).then(response => response.json());
+export async function getLoginSettings({ server }) {
+	try {
+		const settingsParams = JSON.stringify(['Accounts_ShowFormLogin', 'Accounts_RegistrationForm']);
+		const result = await fetch(`${ server }/api/v1/settings.public?query={"_id":{"$in":${ settingsParams }}}`).then(response => response.json());
 
-			if (result.success && result.settings.length) {
-				const [{ value }] = result.settings;
-				return resolve(value);
-			}
-		} catch (e) {
-			log(e);
+		if (result.success && result.settings.length) {
+			reduxStore.dispatch(actions.addSettings(this.parseSettings(this._prepareSettings(result.settings))));
 		}
-
-		return reject();
-	});
+	} catch (e) {
+		log(e);
+	}
 }
 
 export async function setSettings() {
@@ -81,7 +77,7 @@ export async function setSettings() {
 		valueAsArray: item.valueAsArray,
 		_updatedAt: item._updatedAt
 	}));
-	reduxStore.dispatch(actions.setAllSettings(RocketChat.parseSettings(parsed.slice(0, parsed.length))));
+	reduxStore.dispatch(actions.addSettings(RocketChat.parseSettings(parsed.slice(0, parsed.length))));
 }
 
 export default async function() {
diff --git a/app/lib/rocketchat.js b/app/lib/rocketchat.js
index 81aacb89592f747c3b6cb559bcbb045658d3924e..c0c6b1b8c345a4d1b6d33644c85047d92d90f780 100644
--- a/app/lib/rocketchat.js
+++ b/app/lib/rocketchat.js
@@ -24,7 +24,7 @@ import subscribeRooms from './methods/subscriptions/rooms';
 
 import protectedFunction from './methods/helpers/protectedFunction';
 import readMessages from './methods/readMessages';
-import getSettings, { getSetting, setSettings } from './methods/getSettings';
+import getSettings, { getLoginSettings, setSettings } from './methods/getSettings';
 
 import getRooms from './methods/getRooms';
 import getPermissions from './methods/getPermissions';
@@ -619,7 +619,7 @@ const RocketChat = {
 	cancelUpload,
 	isUploadActive,
 	getSettings,
-	getSetting,
+	getLoginSettings,
 	setSettings,
 	getPermissions,
 	getCustomEmojis,
diff --git a/app/reducers/reducers.js b/app/reducers/reducers.js
index 95291484f92a6b99d4100c0b95e0d44ea909fd39..e865ecd6abe974ad077e0df0e6292c308684019e 100644
--- a/app/reducers/reducers.js
+++ b/app/reducers/reducers.js
@@ -2,11 +2,6 @@ import * as types from '../constants/types';
 import initialState from './initialState';
 
 export default function settings(state = initialState.settings, action) {
-	if (action.type === types.SET_ALL_SETTINGS) {
-		return {
-			...action.payload
-		};
-	}
 	if (action.type === types.ADD_SETTINGS) {
 		return {
 			...state,
diff --git a/app/sagas/selectServer.js b/app/sagas/selectServer.js
index 535aecd47bacabc19685b598ce571d6812aa9ea1..f439213d5d94e20cf5a3fa35a71a11d6f33d802a 100644
--- a/app/sagas/selectServer.js
+++ b/app/sagas/selectServer.js
@@ -1,5 +1,5 @@
 import {
-	put, take, takeLatest, fork, cancel, race
+	put, take, takeLatest, fork, cancel, race, select
 } from 'redux-saga/effects';
 import { Alert } from 'react-native';
 import RNUserDefaults from 'rn-user-defaults';
@@ -133,9 +133,12 @@ const handleServerRequest = function* handleServerRequest({ server, certificate
 		const serverInfo = yield getServerInfo({ server });
 
 		if (serverInfo) {
-			const showFormLogin = yield RocketChat.getSetting({ server, setting: 'Accounts_ShowFormLogin' });
 			const loginServicesLength = yield RocketChat.getLoginServices(server);
-			if (loginServicesLength === 0 && showFormLogin) {
+			yield RocketChat.getLoginSettings({ server });
+
+			const showFormLogin = yield select(state => state.settings.Accounts_ShowFormLogin);
+
+			if (!loginServicesLength && showFormLogin) {
 				Navigation.navigate('LoginView');
 			} else {
 				Navigation.navigate('LoginSignupView');