diff --git a/src/charge.c b/src/charge.c
index 06f27ec759488d5b80f79afbf9f6836da7ef3b4c..cee47b579f7eb665bc96520cf2419d1e10661abc 100644
--- a/src/charge.c
+++ b/src/charge.c
@@ -38,7 +38,7 @@ charge_t charge_create(double q, vector2_t pos) {
 
 bool compute_e(charge_t c, vector2_t p, double eps, vector2_t *e) {
     *e = vector2_create_zero();
-    vector2_t r = vector2_substract(p, c.pos);
+    vector2_t r = vector2_substract(c.pos, p);
     double norm_r = vector2_norm(r);
     double E_i = K * (fabs(c.q) / (norm_r * norm_r));
     *e = vector2_multiply(vector2_normalize(r), E_i);