         }   // END for (preparing params for kernel call)
         
         // Copy the prepared parameter arrays to constant memory to make it available for the kernel
-        cudaMemcpyToSymbol(projSinCosArray2Dev, projSinCosArray2Host, sizeof(float)*2*PROJ_PER_KERNEL);
+        cudaMemcpyToSymbol(projSinCosArray2Dev, projSinCosArray2Host, sizeof(float)*3*PROJ_PER_KERNEL);
         cudaMemcpyToSymbol(projParamsArray2Dev, projParamsArray2Host, sizeof(Point3D)*7*PROJ_PER_KERNEL);
         
         kernelPixelBackprojection<<<grid,block>>>(geo,dimage,i,nalpha);

        Point3D uv0Offset = projParamsArray2Dev[7*projNumber+5];
        Point3D S = projParamsArray2Dev[7*projNumber+6];
        
        float sinalpha = projSinCosArray2Dev[2*projNumber];     // 2*projNumber because we have 2 float (sin or cos angle) values per projection
        float cosalpha = projSinCosArray2Dev[2*projNumber+1];
        
        // Geometric trasnformations:
        //Source, scaled XYZ coordinates
        

            sinalpha=sin(geo.alpha);
            cosalpha=cos(geo.alpha);
            
            projSinCosArray2Host[3*j]=sinalpha;  // 2*j because we have 2 float (sin or cos angle) values per projection
            projSinCosArray2Host[3*j+1]=cosalpha;
            projSinCosArray2Host[3*j+2]=geo.COR[i];

            computeDeltasCube(geo,geo.alpha,currProjNumber,&xyzOrigin,&deltaX,&deltaY,&deltaZ,&source);
            
            offOrig.x=geo.offOrigX[currProjNumber];
