diff --git a/react-backbone.js b/react-backbone.js
index <HASH>..<HASH> 100644
--- a/react-backbone.js
+++ b/react-backbone.js
@@ -236,15 +236,19 @@
 
     // loading state helpers
     function pushLoadingState(xhrEvent, modelOrCollection, context) {
-        var currentLoads = getState('loading', context);
+        var currentLoads = getState('loading', context),
+            currentlyLoading = currentLoads && currentLoads.length;
         if (!currentLoads) {
             currentLoads = [];
         }
         if (_.isArray(currentLoads)) {
             currentLoads.push(xhrEvent);
-            setState({
-                loading: currentLoads
-            }, context);
+            if (!currentlyLoading) {
+                setState({
+                    loading: currentLoads
+                }, context);
+            }
+
             xhrEvent.on('complete', function() {
                 popLoadingState(xhrEvent, modelOrCollection, context);
             });
(optimization) prevent setState call with 2nd concurrent XHR event