diff --git a/lib/semantic_logger/logger.rb b/lib/semantic_logger/logger.rb
index <HASH>..<HASH> 100644
--- a/lib/semantic_logger/logger.rb
+++ b/lib/semantic_logger/logger.rb
@@ -210,7 +210,12 @@ module SemanticLogger
           end
         end
       rescue Exception => exception
-        logger.error "Appender thread restarting due to exception", exception
+        # This block may be called after the file handles have been released by Ruby
+        begin
+          logger.error "Appender thread restarting due to exception", exception
+        rescue Exception
+          nil
+        end
         retry
       ensure
         @@appender_thread = nil
diff --git a/lib/semantic_logger/version.rb b/lib/semantic_logger/version.rb
index <HASH>..<HASH> 100644
--- a/lib/semantic_logger/version.rb
+++ b/lib/semantic_logger/version.rb
@@ -1,3 +1,3 @@
 module SemanticLogger #:nodoc
-  VERSION = "0.11.3"
+  VERSION = "0.11.4"
 end
Another place where "Errno::EBADF: Bad file descriptor - Bad file descriptor" could occur on termination of the Ruby process