diff --git a/lib/priority_queue.rb b/lib/priority_queue.rb
index d1514c527acb64121e0aa81cfe5b679738917142..9f2272f75835cee34ff84c958cc67aaf8242fe6c 100644
--- a/lib/priority_queue.rb
+++ b/lib/priority_queue.rb
@@ -57,6 +57,7 @@ class PriorityQueue
 
   def bubble_down(index)
     target = @elements.pop
+    return if empty?
     loop do
       child_index = (index * 2)