diff --git a/web/react/components/member_list_team.jsx b/web/react/components/member_list_team.jsx
index 3613d97d86..cfb473e5ee 100644
--- a/web/react/components/member_list_team.jsx
+++ b/web/react/components/member_list_team.jsx
@@ -92,10 +92,10 @@ var MemberListTeamItem = React.createClass({
{ server_error }
diff --git a/web/react/components/more_channels.jsx b/web/react/components/more_channels.jsx
index 1af2598537..c3ddc76f35 100644
--- a/web/react/components/more_channels.jsx
+++ b/web/react/components/more_channels.jsx
@@ -79,7 +79,7 @@ module.exports = React.createClass({
- {moreChannels ?
+ {!moreChannels.loading ?
(moreChannels.length ?
diff --git a/web/react/stores/channel_store.jsx b/web/react/stores/channel_store.jsx
index 340ce99227..4429a5312c 100644
--- a/web/react/stores/channel_store.jsx
+++ b/web/react/stores/channel_store.jsx
@@ -202,16 +202,17 @@ var ChannelStore = assign({}, EventEmitter.prototype, {
BrowserStore.setItem("more_channels", JSON.stringify(channels));
},
_getMoreChannels: function() {
- var channels;
+ var channels = null;
try {
channels = JSON.parse(BrowserStore.getItem("more_channels"));
}
catch (err) {
}
- if (channels == null) {
- channels = [];
- }
+ if (channels == null) {
+ channels = {};
+ channels.loading = true;
+ }
return channels;
},
diff --git a/web/react/utils/async_client.jsx b/web/react/utils/async_client.jsx
index 87dc912009..3ae7e1e5cf 100644
--- a/web/react/utils/async_client.jsx
+++ b/web/react/utils/async_client.jsx
@@ -104,7 +104,7 @@ module.exports.updateLastViewedAt = function() {
module.exports.getMoreChannels = function(force) {
if (isCallInProgress("getMoreChannels")) return;
- if (!ChannelStore.getMoreAll() || force) {
+ if (ChannelStore.getMoreAll().loading || force) {
callTracker["getMoreChannels"] = utils.getTimestamp();
client.getMoreChannels(