diff --git a/middleman-core/lib/middleman-core/util.rb b/middleman-core/lib/middleman-core/util.rb
index <HASH>..<HASH> 100644
--- a/middleman-core/lib/middleman-core/util.rb
+++ b/middleman-core/lib/middleman-core/util.rb
@@ -122,7 +122,7 @@ module Middleman
         Hamster::Set.new(res)
       when Hamster::Vector, Hamster::Set, Hamster::SortedSet
         obj.map { |element| recursively_enhance(element) }
-      when ::TrueClass, ::FalseClass, ::Fixnum, ::Symbol, ::NilClass
+      when ::TrueClass, ::FalseClass, ::Fixnum, ::Symbol, ::NilClass, ::Float
         obj
       else
         obj.dup.freeze
Update util.rb

line <I>, Float type is also not something that can be dup'ed, similar to Fixnum and friends