diff --git a/5_reconstruction/gtAstraPrepareAbsorptionStack.m b/5_reconstruction/gtAstraPrepareAbsorptionStack.m
index 102bbfa4868b1aa201b337778894a43608099cd1..d786590943b6333625eaf00bbd2903d64896bc43 100644
--- a/5_reconstruction/gtAstraPrepareAbsorptionStack.m
+++ b/5_reconstruction/gtAstraPrepareAbsorptionStack.m
@@ -1,4 +1,4 @@
-function proj = gtAstraPrepareAbsorptionStack(parameters)
+function proj = gtAstraPrepareAbsorptionStack(parameters, rot_angle)
 % GTASTRAPREPAREABSORPTIONSTACK  Assembles the 3D projection stack of absorption
 %                                images and saves them to file absorption_stack.mat
 %
@@ -20,6 +20,10 @@ function proj = gtAstraPrepareAbsorptionStack(parameters)
 %     Version 002 26-09-2012 by LNervo
 %       Formatting, cleaning, commenting
 
+if (~exist('rot_angle', 'var') || isempty(rot_angle))
+    rot_angle = 0;
+end
+
 acq = parameters.acq;
 
 labgeo = parameters.labgeo;
@@ -60,10 +64,14 @@ end
 fprintf('Building geometry..')
 imgs_nums = 0 : rec_abs.interval : totproj-1;
 Omega_rad = angle_rad(imgs_nums + 1);
-Omega_deg = Omega_rad * 180 / pi;
+Omega_deg = Omega_rad * 180 / pi + rot_angle;
 
 bbpos = repmat(acq.bb, [numel(Omega_deg), 1]);
-geom = gtGeoProjForReconstruction([], Omega_deg', [], bbpos, [], ...
+% bbpos = [gtGeoGrainCenterSam2Det(samgeo.orig, 0, parameters) - (acq.bb(3:4) - 1) / 2, acq.bb(3:4)];
+% bbpos = repmat(bbpos, [numel(Omega_deg), 1]);
+vol_center = repmat(samgeo.orig, [numel(Omega_deg), 1]);
+
+geom = gtGeoProjForReconstruction([], Omega_deg', vol_center, bbpos, [], ...
     detgeo, labgeo, samgeo, recgeo, 'ASTRA_absorption');
 geom(:, 10:12) = round(geom(:, 10:12));
 
diff --git a/zUtil_Geo/gtGeoProjForReconstruction.m b/zUtil_Geo/gtGeoProjForReconstruction.m
index e265f0d3dbdf8a43e9936aa8e3de042f14e7dfb1..bc20705446bc2d329e774e11461e674a2b5c1ce1 100644
--- a/zUtil_Geo/gtGeoProjForReconstruction.m
+++ b/zUtil_Geo/gtGeoProjForReconstruction.m
@@ -1,4 +1,4 @@
-function proj_geom = gtGeoProjForReconstruction(projvec_sam, omega, graincenter,...
+function proj_geom = gtGeoProjForReconstruction(projvec_sam, omega, vol_center,...
                      bbpos, bboff, detgeo, labgeo, samgeo, recgeo, rectype)
 % GTGEOPROJFORRECONSTRUCTION Projection coordinates required for
 %                            reconstructions.
@@ -88,14 +88,14 @@ function proj_geom = gtGeoProjForReconstruction(projvec_sam, omega, graincenter,
     end
     projvec_rec = gtMathsNormalizeVectorsList(projvec_rec);
 
-    if (strcmpi(rectype, 'ASTRA_grain'))
-        % Grain center in REC reference
-        graincenter_rec = gtGeoSam2Sam(graincenter, samgeo, recgeo, false, false);
-        graincenter_rec = graincenter_rec(ones_omega, :);
+    if (strcmpi(rectype, 'ASTRA_grain') || strcmpi(rectype, 'ASTRA_absorption'))
+        % Volume center in REC reference
+        vol_center_rec = gtGeoSam2Sam(vol_center, samgeo, recgeo, false, false);
+        vol_center_rec = vol_center_rec(ones_omega, :);
 
-        bbcent_rec = bbcent_rec - graincenter_rec;
+        bbcent_rec = bbcent_rec - vol_center_rec;
     else
-        % case {'ASTRA_full', 'ASTRA_absorption'}
+        % case {'ASTRA_full'}
     end
 
     proj_geom = [projvec_rec, bbcent_rec, detdiru_rec, detdirv_rec];