diff --git a/src/models.py b/src/models.py
index 8b710f0c915ed915e423bc8ae515190f76b1e2c5..d9225d0b5cbe4d3b55a7a9d9f092d25ea3524302 100644
--- a/src/models.py
+++ b/src/models.py
@@ -94,8 +94,8 @@ class PlayLog(db.Model):
         db.session.commit()
         now = datetime.datetime.now()
         track = db.session.query(PlayLog).\
-            filter(PlayLog.track_start <= str(now)).\
-            order_by(PlayLog.track_start.desc()).first()
+            order_by(PlayLog.track_start.desc()).\
+            filter(PlayLog.track_start <= str(now)).first()
         
         if track:
             if track.track_start + datetime.timedelta(0,track.track_duration) > now:
diff --git a/src/service.py b/src/service.py
index bc65787115639ab17de2487c76405741b265d598..9b28ef8aa882b5b0e60ab9b44a95d61002d09786 100644
--- a/src/service.py
+++ b/src/service.py
@@ -150,9 +150,6 @@ class ApiService():
         if not data.log_source:
             data.log_source = self.config.get("host_id")
 
-        if self.config.get("enable_federation") == "false":
-            return
-
         # Main Node: Alway log entry, independed of the source
         # Sync Node: Only log entry when it's coming from an active source
         if self.node_type == NodeType.MAIN or \
@@ -165,6 +162,9 @@ class ApiService():
             except sqlalchemy.exc.IntegrityError as e:
                 self.logger.info("Playlog for '%s' is already existing in local database. Skipping..." % data.track_start)
 
+            if self.config.get("enable_federation") == "false":
+                return
+                
             # Main Node: Push to Sync Node, if enabled
             if self.node_type == NodeType.MAIN and self.sync_host and self.api_playlog:
                 try: