diff --git a/aggregate_root/lib/aggregate_root.rb b/aggregate_root/lib/aggregate_root.rb
index <HASH>..<HASH> 100644
--- a/aggregate_root/lib/aggregate_root.rb
+++ b/aggregate_root/lib/aggregate_root.rb
@@ -75,7 +75,7 @@ module AggregateRoot
     Module.new do
       def self.included(host_class)
         host_class.extend  Constructor
-        include AggregateMethods
+        host_class.include AggregateMethods
       end
 
       define_method :apply_strategy do
diff --git a/aggregate_root/spec/aggregate_root_spec.rb b/aggregate_root/spec/aggregate_root_spec.rb
index <HASH>..<HASH> 100644
--- a/aggregate_root/spec/aggregate_root_spec.rb
+++ b/aggregate_root/spec/aggregate_root_spec.rb
@@ -110,6 +110,17 @@ RSpec.describe AggregateRoot do
     expect(order.status).to eq :created
   end
 
+  it "ruby 2.7 compatibility" do
+    klass = Class.new do
+      include AggregateRoot.with_default_apply_strategy
+    end
+
+    # This is just a way to ensure that the AggregateMethods was included on
+    # the klass directly, not that it was an include to the anonymous module.
+    # This test can be removed when ruby 2.7 will be no longer supported.
+    expect(klass.included_modules[0]).to eq(AggregateRoot::AggregateMethods)
+  end
+
   it "should return applied events" do
     order = order_klass.new(uuid)
     created = Orders::Events::OrderCreated.new
Bring back the include which does not break on older rubies