diff --git a/jsonapi.services.yml b/jsonapi.services.yml
index 2fda8c8..342dc87 100644
--- a/jsonapi.services.yml
+++ b/jsonapi.services.yml
@@ -101,7 +101,7 @@ services:
     arguments: ['@jsonapi.resource_type.repository', '@request_stack', '@current_route_match']
   jsonapi.field_resolver:
     class: Drupal\jsonapi\Context\FieldResolver
-    arguments: ['@jsonapi.current_context', '@entity_field.manager', '@entity_type.bundle.info', '@jsonapi.resource_type.repository']
+    arguments: ['@entity_field.manager', '@entity_type.bundle.info', '@jsonapi.resource_type.repository']
   access_check.jsonapi.custom_query_parameter_names:
     class: Drupal\jsonapi\Access\CustomQueryParameterNamesAccessCheck
     tags:
diff --git a/src/Context/FieldResolver.php b/src/Context/FieldResolver.php
index b50dd3e..f519a3e 100644
--- a/src/Context/FieldResolver.php
+++ b/src/Context/FieldResolver.php
@@ -18,24 +18,29 @@ use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
 class FieldResolver {
 
   /**
-   * The entity type id.
+   * The field manager.
    *
-   * @var \Drupal\jsonapi\Context\CurrentContext
+   * @var \Drupal\Core\Entity\EntityFieldManagerInterface
    */
-  protected $currentContext;
+  protected $fieldManager;
 
   /**
-   * The field manager.
+   * The bundle info service.
    *
-   * @var \Drupal\Core\Entity\EntityFieldManagerInterface
+   * @var \Drupal\Core\Entity\EntityTypeBundleInfoInterface
    */
-  protected $fieldManager;
+  protected $entityTypeBundleInfo;
+
+  /**
+   * The resource type repository.
+   *
+   * @var \Drupal\jsonapi\ResourceType\ResourceTypeRepositoryInterface
+   */
+  protected $resourceTypeRepository;
 
   /**
    * Creates a FieldResolver instance.
    *
-   * @param \Drupal\jsonapi\Context\CurrentContext $current_context
-   *   The JSON API CurrentContext service.
    * @param \Drupal\Core\Entity\EntityFieldManagerInterface $field_manager
    *   The field manager.
    * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entity_type_bundle_info
@@ -43,8 +48,7 @@ class FieldResolver {
    * @param \Drupal\jsonapi\ResourceType\ResourceTypeRepositoryInterface $resource_type_repository
    *   The resource type repository.
    */
-  public function __construct(CurrentContext $current_context, EntityFieldManagerInterface $field_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info, ResourceTypeRepositoryInterface $resource_type_repository) {
-    $this->currentContext = $current_context;
+  public function __construct(EntityFieldManagerInterface $field_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info, ResourceTypeRepositoryInterface $resource_type_repository) {
     $this->fieldManager = $field_manager;
     $this->entityTypeBundleInfo = $entity_type_bundle_info;
     $this->resourceTypeRepository = $resource_type_repository;
@@ -56,14 +60,18 @@ class FieldResolver {
    * Example:
    *   'field_author.entity.field_first_name' -> 'author.firstName'.
    *
+   * @param string $entity_type_id
+   *   The type of the entity for which to resolve the field name.
+   * @param string $bundle
+   *   The bundle of the entity for which to resolve the field name.
    * @param string $internal_field_name
    *   The Drupal field name to map to a public field name.
    *
    * @return string
    *   The mapped field name.
    */
-  public function resolveExternal($internal_field_name) {
-    $resource_type = $this->currentContext->getResourceType();
+  public function resolveExternal($entity_type_id, $bundle, $internal_field_name) {
+    $resource_type = $this->resourceTypeRepository->get($entity_type_id, $bundle);
     return $resource_type->getPublicName($internal_field_name);
   }
 
diff --git a/src/Controller/EntityResource.php b/src/Controller/EntityResource.php
index c788b45..1f7ae83 100644
--- a/src/Controller/EntityResource.php
+++ b/src/Controller/EntityResource.php
@@ -15,7 +15,6 @@ use Drupal\Core\Entity\FieldableEntityInterface;
 use Drupal\Core\Field\EntityReferenceFieldItemListInterface;
 use Drupal\Core\Field\FieldTypePluginManagerInterface;
 use Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem;
-use Drupal\jsonapi\Context\CurrentContext;
 use Drupal\jsonapi\Exception\EntityAccessDeniedHttpException;
 use Drupal\jsonapi\Exception\UnprocessableHttpEntityException;
 use Drupal\jsonapi\Query\Filter;
@@ -59,13 +58,6 @@ class EntityResource {
    */
   protected $fieldManager;
 
-  /**
-   * The current context service.
-   *
-   * @var \Drupal\jsonapi\Context\CurrentContext
-   */
-  protected $currentContext;
-
   /**
    * The current context service.
    *
@@ -89,18 +81,15 @@ class EntityResource {
    *   The entity type manager.
    * @param \Drupal\Core\Entity\EntityFieldManagerInterface $field_manager
    *   The entity type field manager.
-   * @param \Drupal\jsonapi\Context\CurrentContext $current_context
-   *   The current context.
    * @param \Drupal\Core\Field\FieldTypePluginManagerInterface $plugin_manager
    *   The plugin manager for fields.
    * @param \Drupal\jsonapi\LinkManager\LinkManager $link_manager
    *   The link manager service.
    */
-  public function __construct(ResourceType $resource_type, EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $field_manager, CurrentContext $current_context, FieldTypePluginManagerInterface $plugin_manager, LinkManager $link_manager) {
+  public function __construct(ResourceType $resource_type, EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $field_manager, FieldTypePluginManagerInterface $plugin_manager, LinkManager $link_manager) {
     $this->resourceType = $resource_type;
     $this->entityTypeManager = $entity_type_manager;
     $this->fieldManager = $field_manager;
-    $this->currentContext = $current_context;
     $this->pluginManager = $plugin_manager;
     $this->linkManager = $link_manager;
   }
diff --git a/src/Controller/RequestHandler.php b/src/Controller/RequestHandler.php
index a95a6c3..0bac0e9 100644
--- a/src/Controller/RequestHandler.php
+++ b/src/Controller/RequestHandler.php
@@ -74,7 +74,7 @@ class RequestHandler implements ContainerAwareInterface, ContainerInjectionInter
 
     // Invoke the operation on the resource plugin.
     $action = $this->action($route_match, $method);
-    $resource = $this->resourceFactory($route, $current_context);
+    $resource = $this->resourceFactory($route);
 
     // Only add the unserialized data if there is something there.
     $extra_parameters = $unserialized ? [$unserialized, $request] : [$request];
@@ -184,13 +184,11 @@ class RequestHandler implements ContainerAwareInterface, ContainerInjectionInter
    *
    * @param \Symfony\Component\Routing\Route $route
    *   The matched route.
-   * @param \Drupal\jsonapi\Context\CurrentContext $current_context
-   *   The current context.
    *
    * @return \Drupal\jsonapi\Controller\EntityResource
    *   The instantiated resource.
    */
-  protected function resourceFactory(Route $route, CurrentContext $current_context) {
+  protected function resourceFactory(Route $route) {
     /** @var \Drupal\jsonapi\ResourceType\ResourceTypeRepositoryInterface $resource_type_repository */
     $resource_type_repository = $this->container->get('jsonapi.resource_type.repository');
     /* @var \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager */
@@ -205,7 +203,6 @@ class RequestHandler implements ContainerAwareInterface, ContainerInjectionInter
       $resource_type_repository->get($route->getRequirement('_entity_type'), $route->getRequirement('_bundle')),
       $entity_type_manager,
       $field_manager,
-      $current_context,
       $plugin_manager,
       $link_manager
     );
diff --git a/tests/src/Kernel/Controller/EntityResourceTest.php b/tests/src/Kernel/Controller/EntityResourceTest.php
index 62c41af..ebc1978 100644
--- a/tests/src/Kernel/Controller/EntityResourceTest.php
+++ b/tests/src/Kernel/Controller/EntityResourceTest.php
@@ -7,7 +7,6 @@ use Drupal\Core\Field\EntityReferenceFieldItemListInterface;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
 use Drupal\Core\Routing\CurrentRouteMatch;
 use Drupal\jsonapi\ResourceType\ResourceType;
-use Drupal\jsonapi\Context\CurrentContext;
 use Drupal\jsonapi\Controller\EntityResource;
 use Drupal\jsonapi\Resource\EntityCollection;
 use Drupal\jsonapi\Resource\JsonApiDocumentTopLevel;
@@ -230,19 +229,12 @@ class EntityResourceTest extends JsonapiKernelTestBase {
     ]);
     $request_stack = new RequestStack();
     $request_stack->push($request);
-    // Get the entity resource.
-    $current_context = new CurrentContext(
-      $this->container->get('jsonapi.resource_type.repository'),
-      $request_stack,
-      new CurrentRouteMatch($request_stack)
-    );
-    $this->container->set('jsonapi.current_context', $current_context);
 
+    // Get the entity resource.
     $entity_resource = new EntityResource(
       $this->container->get('jsonapi.resource_type.repository')->get('node_type', 'node_type'),
       $this->container->get('entity_type.manager'),
       $field_manager,
-      $current_context,
       $this->container->get('plugin.manager.field.field_type'),
       $this->container->get('jsonapi.link_manager')
     );
@@ -283,19 +275,12 @@ class EntityResourceTest extends JsonapiKernelTestBase {
     ]);
     $request_stack = new RequestStack();
     $request_stack->push($request);
-    // Get the entity resource.
-    $current_context = new CurrentContext(
-      $this->container->get('jsonapi.resource_type.repository'),
-      $request_stack,
-      new CurrentRouteMatch($request_stack)
-    );
-    $this->container->set('jsonapi.current_context', $current_context);
 
+    // Get the entity resource.
     $entity_resource = new EntityResource(
       $this->container->get('jsonapi.resource_type.repository')->get('node_type', 'node_type'),
       $this->container->get('entity_type.manager'),
       $field_manager,
-      $current_context,
       $this->container->get('plugin.manager.field.field_type'),
       $this->container->get('jsonapi.link_manager')
     );
@@ -337,19 +322,12 @@ class EntityResourceTest extends JsonapiKernelTestBase {
     ]);
     $request_stack = new RequestStack();
     $request_stack->push($request);
-    // Get the entity resource.
-    $current_context = new CurrentContext(
-      $this->container->get('jsonapi.resource_type.repository'),
-      $request_stack,
-      new CurrentRouteMatch($request_stack)
-    );
-    $this->container->set('jsonapi.current_context', $current_context);
 
+    // Get the entity resource.
     $entity_resource = new EntityResource(
       $this->container->get('jsonapi.resource_type.repository')->get('node', 'article'),
       $this->container->get('entity_type.manager'),
       $field_manager,
-      $current_context,
       $this->container->get('plugin.manager.field.field_type'),
       $this->container->get('jsonapi.link_manager')
     );
@@ -859,19 +837,12 @@ class EntityResourceTest extends JsonapiKernelTestBase {
     $request = new Request([], [], ['_route_object' => $route]);
     $request_stack = new RequestStack();
     $request_stack->push($request);
-    // Get the entity resource.
-    $current_context = new CurrentContext(
-      $this->container->get('jsonapi.resource_type.repository'),
-      $request_stack,
-      new CurrentRouteMatch($request_stack)
-    );
-    $this->container->set('jsonapi.current_context', $current_context);
 
+    // Get the entity resource.
     return new EntityResource(
       new ResourceType($entity_type_id, $bundle, NULL),
       $this->container->get('entity_type.manager'),
       $this->container->get('entity_field.manager'),
-      $current_context,
       $this->container->get('plugin.manager.field.field_type'),
       $this->container->get('jsonapi.link_manager')
     );
