diff --git a/pyfstat/make_sfts.py b/pyfstat/make_sfts.py
index 23ccf959d132cac9a0a53e8c2cbf8f752f344a97..8d8b66e80fd1b27ed436fbfa2e0450349d4f23c4 100644
--- a/pyfstat/make_sfts.py
+++ b/pyfstat/make_sfts.py
@@ -365,7 +365,7 @@ class FrequencyModulatedArtifactWriter(Writer):
     @helper_functions.initializer
     def __init__(self, outdir=".", tstart=700000000, data_duration=86400,
                  F0=30, tref=None, h0=10, Tsft=1800, sqrtSX=1, Band=4,
-                 Pmod=lal.DAYSID_SI, phi_amplitude=0, Alpha=1.2, Delta=0.5, IFO='H1',
+                 Pmod=lal.DAYSID_SI, phir0=0, Alpha=1.2, Delta=0.5, IFO='H1',
                  earth_ephem=None, sun_ephem=None):
         """
         Parameters
@@ -410,10 +410,20 @@ class FrequencyModulatedArtifactWriter(Writer):
         ephems = lalpulsar.InitBarycenter(self.earth_ephem, self.sun_ephem)
         lalpulsar.DetectorPosVel(
             spin_posvel, orbit_posvel, lal.LIGOTimeGPS(t), det, ephems,
-            lalpulsar.DETMOTION_ORBIT+lalpulsar.DETMOTION_SPIN)
+            lalpulsar.DETMOTION_ORBIT)
 
         # Pos and vel returned in units of c
-        f = self.F0+np.dot(self.n, orbit_posvel.vel+spin_posvel.vel)*self.Fmax
+        if self.IFO == 'H1':
+            Lambda = lal.LHO_4K_DETECTOR_LATITUDE_RAD
+        elif self.IFO == 'L1':
+            Lambda = lal.LLO_4K_DETECTOR_LATITUDE_RAD
+        phir = 2*np.pi*t/self.Pmod + self.phir0
+        DeltaFSpin = lal.REARTH_SI/lal.C_SI * 2*np.pi/self.Pmod*(
+            np.sin(self.Delta)*np.sin(Lambda)
+            + np.cos(self.Alpha)*np.cos(self.Delta)*np.cos(Lambda)*np.cos(phir)
+            + np.sin(self.Alpha)*np.cos(self.Delta)*np.sin(Lambda)*np.sin(phir)
+            )
+        f = self.F0+(np.dot(self.n, orbit_posvel.vel) + DeltaFSpin)*self.Fmax
         return f
 
     def get_h0(self, t):
@@ -461,4 +471,4 @@ class FrequencyModulatedArtifactWriter(Writer):
 class FrequencyAmplitudeModulatedArtifactWriter(FrequencyModulatedArtifactWriter):
     """ Instance object for generating SFTs containing artifacts """
     def get_h0(self, t):
-            return self.h0*np.sin(2*np.pi*t/self.Pmod+self.phi_amplitude)
+            return self.h0*np.sin(2*np.pi*t/self.Pmod+self.phir0)