===================================================================
diff --git a/src/Entity/Crop.php b/src/Entity/Crop.php
--- a/src/Entity/Crop.php
+++ b/src/Entity/Crop.php	(date 1698659642546)
@@ -144,7 +144,14 @@
    * {@inheritdoc}
    */
   public static function findCrop($uri, $type) {
-    return \Drupal::entityTypeManager()->getStorage('crop')->getCrop($uri, $type);
+    $contextual_crop = \Drupal::request()->query->get('contextual_crop');
+
+    if($contextual_crop) {
+      return \Drupal::entityTypeManager()->getStorage('crop')->load($contextual_crop);
+    }
+    else {
+      return \Drupal::entityTypeManager()->getStorage('crop')->getCrop($uri, $type);
+    }
   }

   /**
@@ -377,6 +377,12 @@
       ->setReadOnly(TRUE)
       ->setSetting('unsigned', TRUE);

+    $fields['context'] = BaseFieldDefinition::create('string_long')
+      ->setLabel(t('context'))
+      ->setDescription(t('The context of the crop.'))
+      ->setRevisionable(TRUE)
+      ->setTranslatable(TRUE);
+
     $fields['revision_timestamp'] = BaseFieldDefinition::create('created')
       ->setLabel(t('Revision timestamp'))
       ->setDescription(t('The time that the current revision was created.'))

===================================================================
diff --git a/crop.install b/crop.install
--- a/crop.install
+++ b/crop.install	(date 1698660225965)
@@ -38,3 +38,18 @@
 function crop_update_last_removed() {
   return 8005;
 }
+
+/**
+ * Add context field to Crop entity
+ */
+function crop_update_8006() {
+  $field_storage_definition = \Drupal\Core\Field\BaseFieldDefinition::create('string_long')
+    ->setLabel(t('context'))
+    ->setDescription(t('The context of the crop.'))
+    ->setRevisionable(TRUE)
+    ->setTranslatable(TRUE);
+
+
+  \Drupal::entityDefinitionUpdateManager()
+    ->installFieldStorageDefinition('context', 'crop', 'crop', $field_storage_definition);
+}

===================================================================
diff --git a/src/CropStorage.php b/src/CropStorage.php
--- a/src/CropStorage.php
+++ b/src/CropStorage.php	(date 1705818941283)
@@ -38,6 +38,7 @@
       $query = $this->database->select('crop_field_data', 'cfd');
       $query->fields('cfd', ['type', 'cid']);
       $query->condition('cfd.uri', $uri);
+      $query->isNull('cfd.context');
       $this->cropsByUri[$uri] = $query->execute()->fetchAllKeyed();
     }
