Weighting when scorring with importance biasing

Hello Geant4 community, I have a question regarding scoring results when using Importance Biasing. I am using Importance Biasing and I got something different than without Biasing when I score the total energy deposit in my detector.

In my application I use gamma of 664 KeV. My source is next to the detector so all particles reach the detector and lose all theirs energies.

Without Importance biasing, in my B02SteppingAction.cc, for collecting the energy deposit during 1 step I am using:
G4double edepStep = step->GetTotalEnergyDeposit();
And I do the sum to get the entire energy deposit during 1 run.

With Importance biasing, in my B02SteppingAction.cc, for collecting the energy deposit during 1 step I am using:
G4double edepStep = step->GetTotalEnergyDeposit();
I weighted the energy of the step with its weight.
G4double weight = track->GetWeight();
edepStep = edepStep * weight;
And I do the sum to get the entire energy deposit during 1 run.

I am running 4 runs for instance, but the weight I got for some events are sometimes over 1 and results show 4 different pics of energy and sometimes higher than the energy source.

I suppose I do not have to weight with < track->GetWeight(); > but do you have any idea about the weight value and How I should weight my event?

Thank you very much.