diff --git a/src/recognition.cpp b/src/recognition.cpp
index c9834fe5b60fd3f6753ead4ed9aa9062b1e91f08..34203a95ef353ab9ef2fdb6cb46ea172183b7283 100644
--- a/src/recognition.cpp
+++ b/src/recognition.cpp
@@ -774,9 +774,9 @@ void findMultiColorMarker(Mat &img, QList<TrackPoint> *crossList, Control *contr
                     // - set the offset of subImg with regards to ROI //(ROI to original image is archieved later in the code for all methods)
                     // - add the functionality of autocorrection
                     // - deal with functionality of ignore/not ignore heads without identified ArucoMarker
-                    if (ignoreWithoutMarker && lengthini<crossList->size()) // if CodeMarker-Call returns crossList containing a new element (identified the ArucoMarker)
+                    if (ignoreWithoutMarker && lengthini!=crossList->size()) // if CodeMarker-Call returns crossList containing a new element (identified the ArucoMarker)
                     {
-                        size_t ii = crossList->size()-1;
+                        auto ii = crossList->size()-1;
                         if (autoCorrect && !autoCorrectOnlyExport)
                         {
                             moveDir = autoCorrectColorMarker(boxImageCentre, controlWidget);
@@ -785,24 +785,30 @@ void findMultiColorMarker(Mat &img, QList<TrackPoint> *crossList, Control *contr
                         {
                             moveDir = Vec2F(0, 0);
                         }
-                        (*crossList)[ii] = (*crossList)[ii] + (TrackPoint(Vec2F(cropRect.x, cropRect.y) + moveDir));
+                        (*crossList)[ii].setCol(col);
+                        (*crossList)[ii].setColPoint(Vec2F(box.center.x, box.center.y));
+                        (*crossList)[ii] = (*crossList)[ii] + (Vec2F(cropRect.x, cropRect.y) + moveDir);
                     }
                     else if(!ignoreWithoutMarker && (lengthini==crossList->size())) // in case ignoreWithoutMarker is checked and CodeMarker-Call returns empty crossList (could not identify a marker) the center of the smallest rectangle around the colorblobb is used as position
                     {
+                        offsetCropRect2Roi.setX(0); // set to zero as cooridinates are directly used from cropRect
+                        offsetCropRect2Roi.setY(0);
+                        CodeMarkerItem* codeMarkerItem = controlWidget->getMainWindow()->getCodeMarkerItem();
+                        codeMarkerItem->setOffsetCropRect2Roi(offsetCropRect2Roi);
+
                         if (autoCorrect && !autoCorrectOnlyExport)
                         {
                             moveDir = autoCorrectColorMarker(boxImageCentre, controlWidget);
-
-                            crossList->append(TrackPoint(Vec2F(box.center.x, box.center.y)+moveDir, 100, Vec2F(box.center.x, box.center.y), col)); // 100 beste qualitaet
                         }
                         else
                         {
-                            crossList->append(TrackPoint(Vec2F(box.center.x, box.center.y), 90, Vec2F(box.center.x, box.center.y), col)); // 100 beste qualitaet
+                            moveDir = Vec2F(0,0);
                         }
+                        crossList->append(TrackPoint(Vec2F(box.center.x, box.center.y) + moveDir, 90, Vec2F(box.center.x, box.center.y), col)); // 100 beste qualitaet
                     }
                     else if(!ignoreWithoutMarker && (crossList->size()!=lengthini)) // in case ignoreWithoutMarker is checked and CodeMarker-Call returns non-empty crossList (could identify a marker)
                     {
-                        size_t ii = crossList->size()-1;
+                        auto ii = crossList->size()-1;
                         if (autoCorrect && !autoCorrectOnlyExport)
                         {
                             moveDir = autoCorrectColorMarker(boxImageCentre, controlWidget);
@@ -811,7 +817,9 @@ void findMultiColorMarker(Mat &img, QList<TrackPoint> *crossList, Control *contr
                         {
                            moveDir = Vec2F(0, 0);
                         }
-                        (*crossList)[ii] = (*crossList)[ii] + (TrackPoint(Vec2F(cropRect.x, cropRect.y) + moveDir));
+                        (*crossList)[ii].setCol(col);
+                        (*crossList)[ii].setColPoint(Vec2F(box.center.x, box.center.y));
+                        (*crossList)[ii] = (*crossList)[ii] + (Vec2F(cropRect.x, cropRect.y) + moveDir);
                     }
 
                 }
@@ -1120,10 +1128,6 @@ void findCodeMarker(Mat &img, QList<TrackPoint> *crossList, Control *controlWidg
         if (recoMethod == 5)   // for usage of codemarker with MulticolorMarker
         {
             QRect rect(0,0, img.rows, img.cols);
-//            QPointF p1 = mainWindow->getImageItem()->getCmPerPixel(rect.x(),rect.y(),controlWidget->mapDefaultHeight->value()),
-//                    p2 = mainWindow->getImageItem()->getCmPerPixel(rect.x()+rect.width(),rect.y(),controlWidget->mapDefaultHeight->value()),
-//                    p3 = mainWindow->getImageItem()->getCmPerPixel(rect.x(),rect.y()+rect.height(),controlWidget->mapDefaultHeight->value()),
-//                    p4 = mainWindow->getImageItem()->getCmPerPixel(rect.x()+rect.width(),rect.y()+rect.height(),controlWidget->mapDefaultHeight->value());
 
             // from Aruco Documentation values 0 + 4 all info is considered (low performance issues expected due to small image size)
             minMarkerPerimeterRate = 0.02;
@@ -1807,4 +1811,3 @@ cv::Ptr<cv::aruco::Dictionary> getDictMip36h12()
 
     return dictionary;
 }
-