diff --git a/Spigot-Server-Patches/Faster-redstone-torch-rapid-clock-removal.patch b/Spigot-Server-Patches/Faster-redstone-torch-rapid-clock-removal.patch
new file mode 100644
index 0000000000..89a9ca1a40
--- /dev/null
+++ b/Spigot-Server-Patches/Faster-redstone-torch-rapid-clock-removal.patch
@@ -0,0 +1,41 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Martin Panzer <postremus1996@googlemail.com>
+Date: Mon, 23 May 2016 12:12:37 +0200
+Subject: [PATCH] Faster redstone torch rapid clock removal
+
+Only resize the the redstone torch list once, since resizing arrays / lists is costly
+
+diff --git a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java
++++ b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java
+@@ -0,0 +0,0 @@ public class BlockRedstoneTorch extends BlockTorch {
+         boolean flag = this.g(world, blockposition, iblockdata);
+         List list = (List) BlockRedstoneTorch.g.get(world);
+ 
+-        while (list != null && !list.isEmpty() && world.getTime() - ((BlockRedstoneTorch.RedstoneUpdateInfo) list.get(0)).b > 60L) {
+-            list.remove(0);
++        // Paper start
++        if (list != null) {
++            int index = 0;
++            while (index < list.size() && world.getTime() - ((BlockRedstoneTorch.RedstoneUpdateInfo) list.get(index)).getTime() > 60L) {
++                index++;
++            }
++            if (index > 0) {
++                list.subList(0, index).clear();
++            }
+         }
++        // Paper end
+ 
+         // CraftBukkit start
+         org.bukkit.plugin.PluginManager manager = world.getServer().getPluginManager();
+@@ -0,0 +0,0 @@ public class BlockRedstoneTorch extends BlockTorch {
+     static class RedstoneUpdateInfo {
+ 
+         BlockPosition a;
+-        long b;
++        long b; final long getTime() { return this.b; } // Paper - OBFHELPER
+ 
+         public RedstoneUpdateInfo(BlockPosition blockposition, long i) {
+             this.a = blockposition;
+--
\ No newline at end of file