diff --git a/app/lib/methods/getCustomEmojis.js b/app/lib/methods/getCustomEmojis.js
index a82aae586200b1444731210eea6c12a9bb8a8469..48fea4e4c549a5d1fa47c8d7b3067006f8716d53 100644
--- a/app/lib/methods/getCustomEmojis.js
+++ b/app/lib/methods/getCustomEmojis.js
@@ -15,9 +15,6 @@ const getLastMessage = () => {
 
 export default async function() {
 	try {
-		if (!this.ddp.status) {
-			return;
-		}
 		const lastMessage = getLastMessage();
 		let emojis = await this.ddp.call('listEmojiCustom');
 		emojis = emojis.filter(emoji => !lastMessage || emoji._updatedAt > lastMessage);
diff --git a/app/static/images/message_empty.png b/app/static/images/message_empty.png
new file mode 100644
index 0000000000000000000000000000000000000000..d07e5dcf3d63f34e0085711318a065c73204cbb7
Binary files /dev/null and b/app/static/images/message_empty.png differ
diff --git a/app/views/RoomView/ListView.js b/app/views/RoomView/ListView.js
index a4cf6c7f36faa317d050aad73349a5c90c1bc693..f55fa43f7a7f502aea1b461998ce1a57d23607dd 100644
--- a/app/views/RoomView/ListView.js
+++ b/app/views/RoomView/ListView.js
@@ -1,7 +1,6 @@
 import { ListView as OldList } from 'realm/react-native';
 import React from 'react';
-import cloneReferencedElement from 'react-clone-referenced-element';
-import { ScrollView, ListView as OldList2 } from 'react-native';
+import { ScrollView, ListView as OldList2, ImageBackground } from 'react-native';
 import moment from 'moment';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
@@ -63,22 +62,24 @@ export class List extends React.Component {
 	}, 1000);
 
 	render() {
-		return (<ListView
-			enableEmptySections
-			style={styles.list}
-			data={this.data}
-			keyExtractor={item => item._id}
-			onEndReachedThreshold={100}
-			renderFooter={this.props.renderFooter}
-			renderHeader={() => <Typing />}
-			onEndReached={() => this.props.onEndReached(this.data[this.data.length - 1])}
-			dataSource={this.dataSource}
-			renderRow={(item, previousItem) => this.props.renderRow(item, previousItem)}
-			initialListSize={1}
-			pageSize={20}
-			testID='room-view-messages'
-			{...scrollPersistTaps}
-		/>);
+		return (
+			<ListView
+				enableEmptySections
+				style={styles.list}
+				data={this.data}
+				keyExtractor={item => item._id}
+				onEndReachedThreshold={100}
+				renderFooter={this.props.renderFooter}
+				renderHeader={() => <Typing />}
+				onEndReached={() => this.props.onEndReached(this.data[this.data.length - 1])}
+				dataSource={this.dataSource}
+				renderRow={(item, previousItem) => this.props.renderRow(item, previousItem)}
+				initialListSize={1}
+				pageSize={20}
+				testID='room-view-messages'
+				{...scrollPersistTaps}
+			/>
+		);
 	}
 }
 
@@ -170,16 +171,22 @@ export class ListView extends OldList2 {
 			onKeyboardDidHide: undefined
 		});
 
-		return cloneReferencedElement(
-			<ScrollView {...props} />,
-			{
-				ref: this._setScrollComponentRef,
-				onContentSizeChange: this._onContentSizeChange,
-				onLayout: this._onLayout
-			},
-			header,
-			bodyComponents,
-			footer,
+		const image = data.length === 0 ? require('../../static/images/message_empty.png') : null;
+		return (
+			[
+				<ImageBackground key='listview-background' source={image} style={styles.imageBackground} />,
+				<ScrollView
+					key='listview-scroll'
+					ref={this._setScrollComponentRef}
+					onContentSizeChange={this._onContentSizeChange}
+					onLayout={this._onLayout}
+					{...props}
+				>
+					{header}
+					{bodyComponents}
+					{footer}
+				</ScrollView>
+			]
 		);
 	}
 }
diff --git a/app/views/RoomView/index.js b/app/views/RoomView/index.js
index 362d23bff33790a3208ed66055d7923649823d96..e824b9aa931d5aaac50ae5d6fd16cf8e11f73aeb 100644
--- a/app/views/RoomView/index.js
+++ b/app/views/RoomView/index.js
@@ -271,10 +271,10 @@ export default class RoomView extends LoggedView {
 	};
 
 	renderHeader = () => {
-		if (this.state.end) {
-			return <Text style={styles.loadingMore}>{I18n.t('Start_of_conversation')}</Text>;
+		if (!this.state.end) {
+			return <Text style={styles.loadingMore}>{I18n.t('Loading_messages_ellipsis')}</Text>;
 		}
-		return <Text style={styles.loadingMore}>{I18n.t('Loading_messages_ellipsis')}</Text>;
+		return null;
 	}
 
 	renderList = () => {
diff --git a/app/views/RoomView/styles.js b/app/views/RoomView/styles.js
index 439f2fe99e628703be8a244187580c95b9fb199c..ab37be0c496227095da3ade825adc62e7969c492 100644
--- a/app/views/RoomView/styles.js
+++ b/app/views/RoomView/styles.js
@@ -47,5 +47,10 @@ export default StyleSheet.create({
 	},
 	loading: {
 		flex: 1
+	},
+	imageBackground: {
+		width: '100%',
+		height: '100%',
+		position: 'absolute'
 	}
 });
diff --git a/package.json b/package.json
index 98e21fb4b3b446fc5b885367e51c854d8eee585d..a3b7365f445a3dc27f18b3b842f9632839efc69c 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,6 @@
     "moment": "^2.22.2",
     "prop-types": "^15.6.2",
     "react": "^16.4.1",
-    "react-clone-referenced-element": "^1.0.1",
     "react-emojione": "^5.0.0",
     "react-native": "^0.56.0",
     "react-native-actionsheet": "^2.4.2",