diff --git a/src/app/basket/controllers/BasketController.php b/src/app/basket/controllers/BasketController.php
index da8c21e82db1296043823a7df7f906b88ec57d07..cf37c019d5270ba98f653661ff907a8de4c12715 100644
--- a/src/app/basket/controllers/BasketController.php
+++ b/src/app/basket/controllers/BasketController.php
@@ -265,7 +265,7 @@ class BasketController
             return $response->withStatus(400)->withJson(['errors' => 'Basket not found']);
         }
 
-        $groups = BasketModel::getGroups(['id' => $aArgs['id']]);
+        $groups = BasketModel::getGroups(['id' => $aArgs['id'], 'orderBy' => ['group_id']]);
         $allActions = ActionModel::get();
 
         foreach ($groups as $key => $group) {
diff --git a/src/app/basket/models/BasketModelAbstract.php b/src/app/basket/models/BasketModelAbstract.php
index ce4f8a5294b3cec2933e3d22fee601bc5ca03a88..2c34827470ccbdb4849122ba1cb0f78e2982f5f0 100644
--- a/src/app/basket/models/BasketModelAbstract.php
+++ b/src/app/basket/models/BasketModelAbstract.php
@@ -162,13 +162,14 @@ class BasketModelAbstract
     {
         ValidatorModel::notEmpty($aArgs, ['id']);
         ValidatorModel::stringType($aArgs, ['id']);
-        ValidatorModel::arrayType($aArgs, ['select']);
+        ValidatorModel::arrayType($aArgs, ['select', 'orderBy']);
 
         $aGroups = DatabaseModel::select([
             'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
             'table'     => ['groupbasket'],
             'where'     => ['basket_id = ?'],
-            'data'      => [$aArgs['id']]
+            'data'      => [$aArgs['id']],
+            'order_by'  => $aArgs['orderBy']
         ]);
 
         return $aGroups;