diff --git a/app/views/RoomMembersView/index.js b/app/views/RoomMembersView/index.js
index 92e78d0822834c975379f2486b70383f10955251..932e46c6287d371ea40de2ef173cfa1cec94e6e8 100644
--- a/app/views/RoomMembersView/index.js
+++ b/app/views/RoomMembersView/index.js
@@ -20,6 +20,7 @@ import log from '../../utils/log';
 import { isAndroid } from '../../utils/deviceInfo';
 import I18n from '../../i18n';
 import SearchBox from '../../containers/SearchBox';
+import protectedFunction from '../../lib/methods/helpers/protectedFunction';
 
 @connect(state => ({
 	baseUrl: state.settings.Site_Url || state.server ? state.server.server : '',
@@ -118,6 +119,16 @@ export default class RoomMembersView extends LoggedView {
 		this.rooms.removeAllListeners();
 	}
 
+	onSearchChangeText = protectedFunction((text) => {
+		const { members } = this.state;
+		let membersFiltered = [];
+
+		if (members && members.length > 0 && text) {
+			membersFiltered = members.filter(m => m.username.toLowerCase().match(text.toLowerCase()));
+		}
+		this.setState({ filtering: !!text, membersFiltered });
+	})
+
 	navigationButtonPressed = ({ buttonId }) => {
 		const { allUsers } = this.state;
 		const { componentId } = this.props;
@@ -141,16 +152,6 @@ export default class RoomMembersView extends LoggedView {
 		}
 	}
 
-	onSearchChangeText = (text) => {
-		const { members } = this.state;
-
-		let membersFiltered = [];
-		if (text) {
-			membersFiltered = members.filter(m => m.username.toLowerCase().match(text.toLowerCase()));
-		}
-		this.setState({ filtering: !!text, membersFiltered });
-	}
-
 	onPressUser = async(item) => {
 		try {
 			const subscriptions = database.objects('subscriptions').filtered('name = $0', item.username);