diff --git a/lib/pause/action.rb b/lib/pause/action.rb
index <HASH>..<HASH> 100644
--- a/lib/pause/action.rb
+++ b/lib/pause/action.rb
@@ -67,6 +67,9 @@ module Pause
 
     def ok?
       Pause.analyzer.check(self).nil?
+    rescue ::Redis::CannotConnectError => e
+      $stderr.puts "Error connecting to redis: #{e.inspect}"
+      false
     end
 
     def analyze
diff --git a/spec/pause/action_spec.rb b/spec/pause/action_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/pause/action_spec.rb
+++ b/spec/pause/action_spec.rb
@@ -60,6 +60,15 @@ describe Pause::Action do
       action.ok?.should be_false
 
     end
+
+    it "should return false and silently fail if redis is not available" do
+      Redis.any_instance.stub(:zrange) { raise Redis::CannotConnectError }
+      time = period_marker(resolution, Time.now.to_i)
+
+      action.increment! 4, time - 25
+
+      action.ok?.should be_false
+    end
   end
 
   describe "#analyze" do
Making ok? check on action silently fail and return false if redis is dead.