diff --git a/src/PrimaryGeneratorAction.cc b/src/PrimaryGeneratorAction.cc
index 60d14ffb43e84e8908e63f0caa40fe707872c495..7cb684d4c6ac7019c2542cbf4560541cac681086 100644
--- a/src/PrimaryGeneratorAction.cc
+++ b/src/PrimaryGeneratorAction.cc
@@ -72,8 +72,8 @@ void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
         G4ThreeVector position = G4ThreeVector(x_sourceframe, y_sourceframe, fPositionZ);
         
 	if (fSourceGeometry == 1){
-		x_sourceframe = fsource_size_X * (G4UniformRand() - 0.5);
-		y_sourceframe = fsource_size_Y * (G4UniformRand() - 0.5);
+		x_sourceframe = fPositionX + fsource_size_X * (G4UniformRand() - 0.5);
+		y_sourceframe = fPositionY + fsource_size_Y * (G4UniformRand() - 0.5);
         	position = G4ThreeVector(x_sourceframe, y_sourceframe, fPositionZ);
 	}