diff --git a/lib/mongoid/composable.rb b/lib/mongoid/composable.rb
index <HASH>..<HASH> 100644
--- a/lib/mongoid/composable.rb
+++ b/lib/mongoid/composable.rb
@@ -84,6 +84,7 @@ module Mongoid
       Validatable,
       Equality,
       Association::Referenced::Syncable,
+      Association::Macros,
       ActiveModel::Model,
       ActiveModel::Validations
     ]
diff --git a/spec/mongoid/association/macros_spec.rb b/spec/mongoid/association/macros_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/mongoid/association/macros_spec.rb
+++ b/spec/mongoid/association/macros_spec.rb
@@ -20,6 +20,26 @@ describe Mongoid::Association::Macros do
     klass.validators.clear
   end
 
+  describe 'Model loading' do
+
+    let(:model_associations) do
+      class TestModel
+        include Mongoid::Document
+        field :associations
+      end
+    end
+
+    after do
+      Object.send(:remove_const, :TestModel)
+    end
+
+    it 'prohibits the use of :associations as an attribute' do
+      expect {
+        model_associations
+      }.to raise_exception(Mongoid::Errors::InvalidField)
+    end
+  end
+
   describe ".embedded_in" do
 
     it "defines the macro" do
MONGOID-<I> Don't allow Relations::Marcros methods to be field names