diff --git a/src/app/datasources/helpers/model-discoverer.service.ts b/src/app/datasources/helpers/model-discoverer.service.ts
index 434f74e..b1382bd 100644
--- a/src/app/datasources/helpers/model-discoverer.service.ts
+++ b/src/app/datasources/helpers/model-discoverer.service.ts
@@ -220,16 +220,11 @@
   private cacheModelEntries(model: IXosModel): ng.IPromise<IXosModel> {
     const d = this.$q.defer();
 
-    let populated = false;
     const apiUrl = this.getApiUrlFromModel(model);
     this.XosModelStore.query(model.name, apiUrl)
       .subscribe(
         () => {
-          // skipping the first response as the observable gets created as an empty array
-          if (populated) {
-            return d.resolve(model);
-          }
-          populated = true;
+          return d.resolve(model);
         },
         err => {
           return d.reject(err);
diff --git a/src/app/datasources/stores/model.store.ts b/src/app/datasources/stores/model.store.ts
index 61eb114..345431b 100644
--- a/src/app/datasources/stores/model.store.ts
+++ b/src/app/datasources/stores/model.store.ts
@@ -23,6 +23,9 @@
   }
 
   public query(modelName: string, apiUrl: string): Observable<any> {
+    if (modelName === 'XOSGuiExtension') {
+      this.$log.log(performance.now(), `QUERY Model ${modelName}` );
+    }
     // if there isn't already an observable for that item
     // create a new one and .next() is called by this.loadInitialData once data are received
     if (!this._collections[modelName]) {
@@ -40,7 +43,7 @@
         (event: IWSEvent) => {
           this.storeHelpers.updateCollection(event, this._collections[modelName]);
         },
-        err => console.error
+        err => this.$log.error
       );
 
     return this._collections[modelName].asObservable();
