diff --git a/src/charge.c b/src/charge.c
index afb93696cb6418bbd906f47381e3be5ef7dbf2f5..d0c2580eec826861c338b6313fdd5c9c393a1fa9 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);