diff --git a/paper-server/patches/sources/net/minecraft/server/level/ServerEntity.java.patch b/paper-server/patches/sources/net/minecraft/server/level/ServerEntity.java.patch
index 4c4ebee4eb..d4a7729154 100644
--- a/paper-server/patches/sources/net/minecraft/server/level/ServerEntity.java.patch
+++ b/paper-server/patches/sources/net/minecraft/server/level/ServerEntity.java.patch
@@ -60,11 +60,13 @@
              ServerEntity.removedPassengers(list, this.lastPassengers).forEach((entity) -> {
                  if (entity instanceof ServerPlayer entityplayer) {
                      entityplayer.connection.teleport(entityplayer.getX(), entityplayer.getY(), entityplayer.getZ(), entityplayer.getYRot(), entityplayer.getXRot());
-@@ -107,18 +117,18 @@
+@@ -106,19 +116,19 @@
+ 
          Entity entity = this.entity;
  
-         if (entity instanceof ItemFrame entityitemframe) {
+-        if (entity instanceof ItemFrame entityitemframe) {
 -            if (this.tickCount % 10 == 0) {
++        if (!this.trackedPlayers.isEmpty() && entity instanceof ItemFrame entityitemframe) { // Paper - Perf: Only tick item frames if players can see it
 +            if (true || this.tickCount % 10 == 0) { // CraftBukkit - Moved below, should always enter this block
                  ItemStack itemstack = entityitemframe.getItem();