diff --git a/docs/documentation/v5-0-migration.md b/docs/documentation/v5-0-migration.md
index e5141906dc..bc83b49103 100644
--- a/docs/documentation/v5-0-migration.md
+++ b/docs/documentation/v5-0-migration.md
@@ -6,3 +6,9 @@ permalink: /docs/v5-0-migration
 ---
 
 # Migrating from v4.7 to v5.0
+
+## API Tweaks
+
+1. [Result of managed dependent resources](https://github.com/operator-framework/java-operator-sdk/blob/main/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/ManagedDependentResourceContext.java#L55-L57)
+   is not `Optional` anymore. In case you use this result, simply use the result
+   objects directly.
diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/DefaultManagedDependentResourceContext.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/DefaultManagedDependentResourceContext.java
index 5b1a21e5dd..d6fa5c7b32 100644
--- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/DefaultManagedDependentResourceContext.java
+++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/DefaultManagedDependentResourceContext.java
@@ -50,12 +50,12 @@ public DefaultManagedDependentResourceContext setWorkflowCleanupResult(
   }
 
   @Override
-  public Optional<WorkflowReconcileResult> getWorkflowReconcileResult() {
-    return Optional.ofNullable(workflowReconcileResult);
+  public WorkflowReconcileResult getWorkflowReconcileResult() {
+    return workflowReconcileResult;
   }
 
   @Override
-  public Optional<WorkflowCleanupResult> getWorkflowCleanupResult() {
-    return Optional.ofNullable(workflowCleanupResult);
+  public WorkflowCleanupResult getWorkflowCleanupResult() {
+    return workflowCleanupResult;
   }
 }
diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/ManagedDependentResourceContext.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/ManagedDependentResourceContext.java
index 9c5b3dddb1..47534cc30d 100644
--- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/ManagedDependentResourceContext.java
+++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/ManagedDependentResourceContext.java
@@ -52,7 +52,7 @@ public interface ManagedDependentResourceContext {
   @SuppressWarnings("unused")
   <T> T getMandatory(Object key, Class<T> expectedType);
 
-  Optional<WorkflowReconcileResult> getWorkflowReconcileResult();
+  WorkflowReconcileResult getWorkflowReconcileResult();
 
-  Optional<WorkflowCleanupResult> getWorkflowCleanupResult();
+  WorkflowCleanupResult getWorkflowCleanupResult();
 }
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/ManagedBulkDependentWithReadyConditionReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/ManagedBulkDependentWithReadyConditionReconciler.java
index aca78d5d25..569c4fa359 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/ManagedBulkDependentWithReadyConditionReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/ManagedBulkDependentWithReadyConditionReconciler.java
@@ -7,7 +7,6 @@
 import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
 import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
 import io.javaoperatorsdk.operator.api.reconciler.dependent.Dependent;
-import io.javaoperatorsdk.operator.processing.dependent.workflow.WorkflowReconcileResult;
 
 @ControllerConfiguration(dependents = @Dependent(readyPostcondition = SampleBulkCondition.class,
     type = CRUDConfigMapBulkDependentResource.class))
@@ -23,7 +22,8 @@ public UpdateControl<BulkDependentTestCustomResource> reconcile(
     numberOfExecutions.incrementAndGet();
 
     var ready = context.managedDependentResourceContext().getWorkflowReconcileResult()
-        .map(WorkflowReconcileResult::allDependentResourcesReady).orElseThrow();
+        .allDependentResourcesReady();
+
 
     resource.setStatus(new BulkDependentTestStatus());
     resource.getStatus().setReady(ready);
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/complexdependent/ComplexDependentReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/complexdependent/ComplexDependentReconciler.java
index da0aaf1060..853ac4f2d7 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/complexdependent/ComplexDependentReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/complexdependent/ComplexDependentReconciler.java
@@ -43,7 +43,7 @@ public UpdateControl<ComplexDependentCustomResource> reconcile(
       ComplexDependentCustomResource resource,
       Context<ComplexDependentCustomResource> context) throws Exception {
     var ready = context.managedDependentResourceContext().getWorkflowReconcileResult()
-        .orElseThrow().allDependentResourcesReady();
+        .allDependentResourcesReady();
 
     var status = Objects.requireNonNullElseGet(resource.getStatus(), ComplexDependentStatus::new);
     status.setStatus(ready ? RECONCILE_STATUS.READY : RECONCILE_STATUS.NOT_READY);
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/workflowallfeature/WorkflowAllFeatureReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/workflowallfeature/WorkflowAllFeatureReconciler.java
index 2c25d13924..03d4e22016 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/workflowallfeature/WorkflowAllFeatureReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/workflowallfeature/WorkflowAllFeatureReconciler.java
@@ -35,7 +35,7 @@ public UpdateControl<WorkflowAllFeatureCustomResource> reconcile(
     resource.getStatus()
         .setReady(
             context.managedDependentResourceContext()
-                .getWorkflowReconcileResult().orElseThrow()
+                .getWorkflowReconcileResult()
                 .allDependentResourcesReady());
     return UpdateControl.patchStatus(resource);
   }