diff --git a/GUI/Model/Device/RealItem.cpp b/GUI/Model/Device/RealItem.cpp
index 4f9bf64a13fbc421476317011248e9753dade190..8bcbf99deebcef0120ace3a84627973a4032ef2c 100644
--- a/GUI/Model/Device/RealItem.cpp
+++ b/GUI/Model/Device/RealItem.cpp
@@ -13,9 +13,11 @@
 //  ************************************************************************************************
 
 #include "GUI/Model/Device/RealItem.h"
+#include "Base/Axis/Scale.h"
 #include "Device/Coord/ICoordSystem.h"
 #include "Device/Data/DataUtil.h"
 #include "Device/Data/Datafield.h"
+#include "GUI/Model/Axis/AmplitudeAxisItem.h"
 #include "GUI/Model/Data/DataItemUtil.h"
 #include "GUI/Model/Data/IntensityDataItem.h"
 #include "GUI/Model/Data/ProjectionItems.h"
@@ -259,7 +261,14 @@ void RealItem::rotateData()
 
     // -- now rotate data
     const Datafield* input = intensityDataItem()->c_field();
-    intensityDataItem()->setDatafield(DataUtil::Data::createRearrangedDataSet(*input, 1).release());
+    Datafield* output = DataUtil::Data::createRearrangedDataSet(*input, 1).release();
+
+    // upd AxesItems
+    intensityDataItem()->xAxisItem()->setBinCount(output->xAxis().size());
+    intensityDataItem()->yAxisItem()->setBinCount(output->yAxis().size());
+
+    // apply rotated data
+    intensityDataItem()->setDatafield(output);
     intensityDataItem()->setAxesRangeToData();
 }
 
diff --git a/GUI/View/PlotUtil/ColorMap.cpp b/GUI/View/PlotUtil/ColorMap.cpp
index 4b2b196eac61a48118e422f147c9bccdabef3523..1679c3c2193079203749f14aa5d0dc5e393e0d73 100644
--- a/GUI/View/PlotUtil/ColorMap.cpp
+++ b/GUI/View/PlotUtil/ColorMap.cpp
@@ -365,6 +365,8 @@ void ColorMap::setDataFromItem()
 
     int nx(intensityItem()->xSize()); // outside of the loop because of slow retrieval
     int ny(intensityItem()->ySize());
+    m_colorMap->data()->setSize(nx, ny);
+
     for (int ix = 0; ix < nx; ++ix)
         for (int iy = 0; iy < ny; ++iy)
             m_colorMap->data()->setCell(ix, iy, (*data)[iy + ny * ix]);