diff --git a/lib/jsonapi/active_relation_resource.rb b/lib/jsonapi/active_relation_resource.rb
index d9272339d..2c3ffd103 100644
--- a/lib/jsonapi/active_relation_resource.rb
+++ b/lib/jsonapi/active_relation_resource.rb
@@ -92,7 +92,7 @@ def find_to_populate_by_keys(keys, options = {})
       def find_fragments(filters, options = {})
         include_directives = options[:include_directives] ? options[:include_directives].include_directives : {}
         resource_klass = self
-        linkage_relationships = to_one_relationships_for_linkage(include_directives[:include_related])
+        linkage_relationships = to_one_relationships_for_linkage(include_directives)
 
         sort_criteria = options.fetch(:sort_criteria) { [] }
 
@@ -381,7 +381,7 @@ def find_related_monomorphic_fragments(source_rids, relationship, options, conne
 
         include_directives = options[:include_directives] ? options[:include_directives].include_directives : {}
         resource_klass = relationship.resource_klass
-        linkage_relationships = resource_klass.to_one_relationships_for_linkage(include_directives[:include_related])
+        linkage_relationships = resource_klass.to_one_relationships_for_linkage(include_directives)
 
         sort_criteria = []
         options[:sort_criteria].try(:each) do |sort|
@@ -514,7 +514,7 @@ def find_related_polymorphic_fragments(source_rids, relationship, options, conne
 
         resource_types.each do |resource_type|
           related_resource_klass = resource_klass_for(resource_type)
-          relationships = related_resource_klass.to_one_relationships_for_linkage(include_directives[:include_related])
+          relationships = related_resource_klass.to_one_relationships_for_linkage(include_directives)
           relationships.each do |r|
             linkage_relationships << "##{resource_type}.#{r}"
           end
diff --git a/lib/jsonapi/include_directives.rb b/lib/jsonapi/include_directives.rb
index c1a1d7b3b..c09a700a1 100644
--- a/lib/jsonapi/include_directives.rb
+++ b/lib/jsonapi/include_directives.rb
@@ -5,21 +5,15 @@ class IncludeDirectives
     # will transform into =>
     # {
     #   posts: {
-    #     include_related: {
-    #       comments:{
-    #         include_related: {
-    #           tags: {
-    #             include_related: {}
-    #           }
-    #         }
-    #       }
+    #     comments: {
+    #       tags: {}
     #     }
     #   }
     # }
 
     def initialize(resource_klass, includes_array)
       @resource_klass = resource_klass
-      @include_directives_hash = { include_related: {} }
+      @include_directives_hash = {}
       includes_array.each do |include|
         parse_include(include)
       end
@@ -42,8 +36,8 @@ def parse_include(include)
       path.segments.each do |segment|
         relationship_name = segment.relationship.name.to_sym
 
-        current[:include_related][relationship_name] ||= { include_related: {} }
-        current = current[:include_related][relationship_name]
+        current[relationship_name] ||= {}
+        current = current[relationship_name]
       end
 
     rescue JSONAPI::Exceptions::InvalidRelationship => _e
diff --git a/lib/jsonapi/processor.rb b/lib/jsonapi/processor.rb
index cad9f9b8d..8ff8383a2 100644
--- a/lib/jsonapi/processor.rb
+++ b/lib/jsonapi/processor.rb
@@ -367,7 +367,7 @@ def result_options
     end
 
     def find_resource_set(resource_klass, include_directives, options)
-      include_related = include_directives.include_directives[:include_related] if include_directives
+      include_related = include_directives.include_directives if include_directives
 
       resource_id_tree = find_resource_id_tree(resource_klass, options, include_related)
 
@@ -375,7 +375,7 @@ def find_resource_set(resource_klass, include_directives, options)
     end
 
     def find_related_resource_set(resource, relationship_name, include_directives, options)
-      include_related = include_directives.include_directives[:include_related] if include_directives
+      include_related = include_directives.include_directives if include_directives
 
       resource_id_tree = find_resource_id_tree_from_resource_relationship(resource, relationship_name, options, include_related)
 
@@ -443,12 +443,12 @@ def load_included(resource_klass, source_resource_id_tree, include_related, opti
         )
 
         related_resource_id_tree = source_resource_id_tree.fetch_related_resource_id_tree(relationship)
-        related_resource_id_tree.add_resource_fragments(related_fragments, include_related[key][include_related])
+        related_resource_id_tree.add_resource_fragments(related_fragments, include_related[key])
 
         # Now recursively get the related resources for the currently found resources
         load_included(relationship.resource_klass,
                       related_resource_id_tree,
-                      include_related[relationship_name][:include_related],
+                      include_related[relationship_name],
                       options)
       end
     end
diff --git a/test/controllers/controller_test.rb b/test/controllers/controller_test.rb
index adcac5a94..3791ac146 100644
--- a/test/controllers/controller_test.rb
+++ b/test/controllers/controller_test.rb
@@ -4329,7 +4329,8 @@ def test_complex_includes_things_nested_things
                             "links" => {
                                 "self" => "http://test.host/api/things/40/relationships/things",
                                 "related" => "http://test.host/api/things/40/things"
-                            }
+                            },
+                            "data" => []
                         }
                     }
                 },
diff --git a/test/unit/processor/default_processor_test.rb b/test/unit/processor/default_processor_test.rb
index 1158f23d0..9c61af05f 100644
--- a/test/unit/processor/default_processor_test.rb
+++ b/test/unit/processor/default_processor_test.rb
@@ -45,7 +45,7 @@ def setup
     }
     p = JSONAPI::Processor.new(PostResource, :find, params)
 
-    $id_tree_has_one_includes = p.send(:find_resource_id_tree, PostResource, find_options, directives[:include_related])
+    $id_tree_has_one_includes = p.send(:find_resource_id_tree, PostResource, find_options, directives)
     $resource_set_has_one_includes = JSONAPI::ResourceSet.new($id_tree_has_one_includes)
     $populated_resource_set_has_one_includes = JSONAPI::ResourceSet.new($id_tree_has_one_includes).populate!($serializer, nil,{})
   end
@@ -111,4 +111,4 @@ def test_populated_resource_set_has_one_includes_relationships_are_resolved
     assert_equal 12, $populated_resource_set_has_one_includes.resource_klasses[PersonResource][1004][:relationships][:posts].first.id
   end
 
-end
\ No newline at end of file
+end
diff --git a/test/unit/serializer/include_directives_test.rb b/test/unit/serializer/include_directives_test.rb
index ad6e6710d..7a16a78cb 100644
--- a/test/unit/serializer/include_directives_test.rb
+++ b/test/unit/serializer/include_directives_test.rb
@@ -6,15 +6,7 @@ class IncludeDirectivesTest < ActiveSupport::TestCase
   def test_one_level_one_include
     directives = JSONAPI::IncludeDirectives.new(PersonResource, ['posts']).include_directives
 
-    assert_hash_equals(
-      {
-        include_related: {
-          posts: {
-            include_related: {}
-          }
-        }
-      },
-      directives)
+    assert_hash_equals({ posts: {} }, directives)
   end
 
   def test_one_level_multiple_includes
@@ -22,17 +14,9 @@ def test_one_level_multiple_includes
 
     assert_hash_equals(
       {
-        include_related: {
-          posts: {
-            include_related: {}
-          },
-          comments: {
-            include_related: {}
-          },
-          expense_entries: {
-            include_related: {}
-          }
-        }
+        posts: {},
+        comments: {},
+        expense_entries: {}
       },
       directives)
   end
@@ -42,21 +26,11 @@ def test_multiple_level_multiple_includes
 
     assert_hash_equals(
       {
-        include_related: {
-          posts: {
-            include_related: {
-              comments: {
-                include_related: {}
-              }
-            }
-          },
-          comments: {
-            include_related: {}
-          },
-          expense_entries: {
-            include_related: {}
-          }
-        }
+        posts: {
+          comments: {}
+        },
+        comments: {},
+        expense_entries: {}
       },
       directives)
   end
@@ -67,14 +41,8 @@ def test_two_levels_include_full_path
 
     assert_hash_equals(
       {
-        include_related: {
-          posts: {
-            include_related: {
-              comments: {
-                include_related: {}
-              }
-            }
-          }
+        posts: {
+          comments: {}
         }
       },
       directives)
@@ -85,14 +53,8 @@ def test_two_levels_include_full_path_redundant
 
     assert_hash_equals(
       {
-        include_related: {
-          posts: {
-            include_related: {
-              comments: {
-                include_related: {}
-              }
-            }
-          }
+        posts: {
+          comments: {}
         }
       },
       directives)
@@ -103,17 +65,9 @@ def test_three_levels_include_full
 
     assert_hash_equals(
       {
-        include_related: {
-          posts: {
-            include_related: {
-              comments: {
-                include_related: {
-                  tags: {
-                    include_related: {}
-                  }
-                }
-              }
-            }
+        posts: {
+          comments: {
+            tags: {}
           }
         }
       },
diff --git a/test/unit/serializer/serializer_test.rb b/test/unit/serializer/serializer_test.rb
index b3cda28e8..ad7a7f46a 100644
--- a/test/unit/serializer/serializer_test.rb
+++ b/test/unit/serializer/serializer_test.rb
@@ -25,7 +25,7 @@ def test_serializer
 
     directives = JSONAPI::IncludeDirectives.new(PersonResource, ['']).include_directives
 
-    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives[:include_related])
+    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives)
     resource_set = JSONAPI::ResourceSet.new(id_tree)
 
     serializer = JSONAPI::ResourceSerializer.new(
@@ -108,7 +108,7 @@ def test_serializer_namespaced_resource_with_custom_resource_links
 
     directives = JSONAPI::IncludeDirectives.new(PersonResource, ['']).include_directives
 
-    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives[:include_related])
+    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives)
     resource_set = JSONAPI::ResourceSet.new(id_tree)
 
     serializer = JSONAPI::ResourceSerializer.new(
@@ -165,7 +165,7 @@ def test_serializer_limited_fieldset
 
     directives = JSONAPI::IncludeDirectives.new(PersonResource, []).include_directives
 
-    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives[:include_related])
+    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives)
     resource_set = JSONAPI::ResourceSet.new(id_tree)
 
     serializer = JSONAPI::ResourceSerializer.new(
@@ -208,14 +208,14 @@ def test_serializer_include
 
     directives = JSONAPI::IncludeDirectives.new(PostResource, ['author']).include_directives
 
-    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives[:include_related])
+    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives)
 
     rel_id_tree = id_tree.fetch_related_resource_id_tree(PostResource._relationships[:author])
 
     author_fragment = JSONAPI::ResourceFragment.new(person_1001_identity)
     author_fragment.add_related_from(post_1_identity)
     author_fragment.add_related_identity(:posts, post_1_identity)
-    rel_id_tree.add_resource_fragment(author_fragment, directives[:include_related][:author][:include_related])
+    rel_id_tree.add_resource_fragment(author_fragment, directives[:author])
 
     resource_set = JSONAPI::ResourceSet.new(id_tree)
 
@@ -339,14 +339,14 @@ def test_serializer_key_format
 
     directives = JSONAPI::IncludeDirectives.new(PostResource, ['author']).include_directives
 
-    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives[:include_related])
+    id_tree.add_resource_fragment(JSONAPI::ResourceFragment.new(post_1_identity), directives)
 
     rel_id_tree = id_tree.fetch_related_resource_id_tree(PostResource._relationships[:author])
 
     author_fragment = JSONAPI::ResourceFragment.new(person_1001_identity)
     author_fragment.add_related_from(post_1_identity)
     author_fragment.add_related_identity(:posts, post_1_identity)
-    rel_id_tree.add_resource_fragment(author_fragment, directives[:include_related][:author][:include_related])
+    rel_id_tree.add_resource_fragment(author_fragment, directives[:author])
 
     resource_set = JSONAPI::ResourceSet.new(id_tree)
 
@@ -479,7 +479,7 @@ def test_serializers_linkage_even_without_included_resource
     fragment.initialize_related(:section)
     fragment.initialize_related(:tags)
 
-    id_tree.add_resource_fragment(fragment, directives[:include_related])
+    id_tree.add_resource_fragment(fragment, directives)
     resource_set = JSONAPI::ResourceSet.new(id_tree)
 
     serializer = JSONAPI::ResourceSerializer.new(PostResource,