diff --git a/src/elastico.cc b/src/elastico.cc
index ba05565fdd9ee9127f32885889df5e416c1c3170..dd5670089231202751ef9fb58151015ea066fdef 100644
--- a/src/elastico.cc
+++ b/src/elastico.cc
@@ -119,18 +119,18 @@ void ElasticProcessor::makeAppendToBulkRequest(
     uint32_t qual = (mf >> shifts::qual) & masks::qual;
     if (qual < qual_cut)
       continue;
-    float pt = (ipt - 1) * gmt_scales::pt_scale;
+    float pt = float(ipt - 1) * gmt_scales::pt_scale;
     float phiext =
-        ((mf >> shifts::phiext) & masks::phiext) * gmt_scales::phi_scale;
+        float((mf >> shifts::phiext) & masks::phiext) * gmt_scales::phi_scale;
     uint32_t ietaext = ((mf >> shifts::etaext) & masks::etaextv);
     if (((mf >> shifts::etaext) & masks::etaexts) != 0)
       ietaext -= 512;
-    float etaext = ietaext * gmt_scales::eta_scale;
+    float etaext = float(ietaext) * gmt_scales::eta_scale;
     uint32_t iso = (ms >> shifts::iso) & masks::iso;
     uint32_t chrg = (ms >> shifts::chrg) & masks::chrg;
     uint32_t chrgv = (ms >> shifts::chrgv) & masks::chrgv;
     uint32_t index = (ms >> shifts::index) & masks::index;
-    float phi = ((ms >> shifts::phi) & masks::phi) * gmt_scales::phi_scale;
+    float phi = float((ms >> shifts::phi) & masks::phi) * gmt_scales::phi_scale;
     //  uint32_t ieta = (ms >> shifts::eta) & masks::etav;
     //    if(((mf >> shifts::eta) & masks::etas)!=0) ieta -= 512;
     // float eta = ieta*gmt_scales::eta_scale;