diff --git a/ajax/frontend/basket/removePos.php b/ajax/frontend/basket/removePos.php
index 4320d81352c58925ae708d10b9a0f16f60d9faae..43c1a41455e19b7c59e130d2fb0d1ea8055e2e04 100644
--- a/ajax/frontend/basket/removePos.php
+++ b/ajax/frontend/basket/removePos.php
@@ -15,7 +15,7 @@
     function ($basketId, $pos) {
         $User = QUI::getUserBySession();
         $Basket = new QUI\ERP\Order\Basket\Basket($basketId, $User);
-        $Basket->getProducts()?->removePos($pos);
+        $Basket->getProducts()->removePos($pos);
 
         QUI::getEvents()->fireEvent(
             'quiqqerOrderBasketRemovePos',
diff --git a/ajax/frontend/order/getOrderControl.php b/ajax/frontend/order/getOrderControl.php
index 0c8b788491ffa72c780fc8aae83f15fc8a75f0e1..1cfc1d748462acb03bb074b41a5fd1e8fd328f12 100644
--- a/ajax/frontend/order/getOrderControl.php
+++ b/ajax/frontend/order/getOrderControl.php
@@ -20,10 +20,15 @@ function ($orderHash) {
         $Output = new QUI\Output();
         $result = $OrderProcess->create();
         $css = QUI\Control\Manager::getCSS();
+        $View = null;
+
+        if (method_exists($OrderProcess->getOrder(), 'getView')) {
+            $View = $OrderProcess->getOrder()->getView();
+        }
 
         return [
             'html' => $Output->parse($css . $result),
-            'data' => $OrderProcess->getOrder()->getView()->toArray()
+            'data' => $View?->toArray()
         ];
     },
     ['orderHash']
diff --git a/ajax/frontend/order/getStep.php b/ajax/frontend/order/getStep.php
index b7cd5c68a623de89988cc0b68978fe2c7b0759f7..88b4091701599ec623af4940db2b7448c7af654f 100644
--- a/ajax/frontend/order/getStep.php
+++ b/ajax/frontend/order/getStep.php
@@ -28,11 +28,6 @@ function ($orderId, $step, $orderHash, $basketEditable) {
             ]);
 
             $Current = $OrderProcess->getCurrentStep();
-
-            if (!$Current) {
-                $Current = $OrderProcess->getFirstStep();
-            }
-
             $OrderProcess->setAttribute('step', $Current->getName());
 
             $html = $OrderProcess->create();
diff --git a/ajax/frontend/order/processing/savePayment.php b/ajax/frontend/order/processing/savePayment.php
index 050595937f2a885aa4e6e3b0d30d40a23d625d71..f44b1511361290c548679ed846bd4fddc26db4fb 100644
--- a/ajax/frontend/order/processing/savePayment.php
+++ b/ajax/frontend/order/processing/savePayment.php
@@ -22,12 +22,13 @@ function ($orderHash, $payment) {
             'step' => $Processing->getName()
         ]);
 
-        /* @var $Processing Processing */
         $Processing = $OrderProcess->getCurrentStep();
         $Order = $OrderProcess->getOrder();
-
         $Processing->setAttribute('Order', $Order);
-        $Processing->savePayment($payment);
+
+        if (method_exists($Processing, 'savePayment')) {
+            $Processing->savePayment($payment);
+        }
     },
     ['orderHash', 'payment']
 );
diff --git a/ajax/frontend/order/reload.php b/ajax/frontend/order/reload.php
index 16b8c12b7579396e4b709cb70ab5b83141f8e616..80021bd3240dc01658fea8de40a45d091b0b31a9 100644
--- a/ajax/frontend/order/reload.php
+++ b/ajax/frontend/order/reload.php
@@ -25,10 +25,6 @@ function ($orderId, $step, $orderHash, $basketEditable) {
         $Order = $OrderProcess->getOrder();
         $Current = $OrderProcess->getCurrentStep();
 
-        if (!$Current) {
-            $Current = $OrderProcess->getFirstStep();
-        }
-
         $OrderProcess->setAttribute('step', $Current->getName());
         $OrderProcess->setAttribute('orderHash', $Order->getUUID());
 
diff --git a/ajax/frontend/order/send.php b/ajax/frontend/order/send.php
index 9779b71fc7f12dee384ab3228c505661ca67a4e4..edbd4142e68aa2de5db6a8c56e0be29bd3275955 100644
--- a/ajax/frontend/order/send.php
+++ b/ajax/frontend/order/send.php
@@ -32,11 +32,7 @@ function ($current, $orderHash, $formData) {
             ]);
 
             $result = $OrderProcess->create();
-            $current = false;
-
-            if ($OrderProcess->getCurrentStep()) {
-                $current = $OrderProcess->getCurrentStep()->getName();
-            }
+            $current = $OrderProcess->getCurrentStep()->getName();
 
             return [
                 'html' => $result,
diff --git a/ajax/frontend/order/setQuantity.php b/ajax/frontend/order/setQuantity.php
index 7ef1f249e5bd7cddc2d96f1899c58c9da577bae8..885045dd772a66d6baf6458631b0bea261e5271d 100644
--- a/ajax/frontend/order/setQuantity.php
+++ b/ajax/frontend/order/setQuantity.php
@@ -30,7 +30,7 @@ function ($orderHash, $pos, $quantity) {
         $Products = $Basket->getProducts();
         $products = $Products->getProducts(); // get as array
 
-        if (isset($products[$pos])) {
+        if (isset($products[$pos]) && method_exists($products[$pos], 'setQuantity')) {
             $products[$pos]->setQuantity($quantity);
         }