diff --git a/README b/README
index f6d8cd9c..f238398c 100644
--- a/README
+++ b/README
@@ -20,10 +20,6 @@
 .. image:: https://ci.appveyor.com/api/projects/status/ajg5j8byv8isslso/branch/master?svg=true
    :target: https://ci.appveyor.com/project/poliastro/poliastro/branch/master
 
-.. image:: https://badge.waffle.io/poliastro/poliastro.png?label=Ready
-   :target: https://waffle.io/poliastro/poliastro 
-   :alt: 'Stories in Ready'
-
 .. image:: https://img.shields.io/badge/license-MIT-blue.svg
    :target: https://raw.githubusercontent.com/poliastro/poliastro/master/COPYING
 
diff --git a/poliastro/twobody/propagation.py b/poliastro/twobody/propagation.py
index 70a91f4f..567fd624 100644
--- a/poliastro/twobody/propagation.py
+++ b/poliastro/twobody/propagation.py
@@ -85,7 +85,7 @@ def _kepler(k, r0, v0, tof, numiter, rtol):
         norm_r = xi * xi * c2_psi + dot_r0v0 / sqrt_mu * xi * (1 - psi * c3_psi) + norm_r0 * (1 - psi * c2_psi)
         xi_new = xi + (sqrt_mu * tof - xi * xi * xi * c3_psi - dot_r0v0 / sqrt_mu * xi * xi * c2_psi -
                        norm_r0 * xi * (1 - psi * c3_psi)) / norm_r
-        if abs((xi_new - xi) / xi_new) < rtol:
+        if abs(np.divide(xi_new - xi, xi_new)) < rtol or abs(xi_new - xi) < rtol:
             break
         else:
             count += 1

ZeroDivisionError when propagating with time zero
Actually if NUMBA_DISABLE_JIT is exported this appears as a maximum number of iterations error. Why does it change is a matter of study, but still the easiest way to fix it is to contemplate the special case of time = 0.0 at the very beginning of the `_kepler` function.
diff --git a/poliastro/tests/test_twobody.py b/poliastro/tests/test_twobody.py
index ac0b0e97..5da1ac2d 100644
--- a/poliastro/tests/test_twobody.py
+++ b/poliastro/tests/test_twobody.py
@@ -228,8 +228,23 @@ def test_propagate():
     ss0 = State.from_vectors(Earth, r0, v0)
     tof = 40 * u.min
     ss1 = ss0.propagate(tof)
-    r, v = ss1.r, ss1.v
+    r, v = ss1.rv()
     assert_array_almost_equal(r.value, [-4219.7527, 4363.0292, -3958.7666],
                               decimal=1)
     assert_array_almost_equal(v.value, [3.689866, -1.916735, -6.112511],
                               decimal=4)
+
+
+def test_propagation_zero_time_returns_same_state():
+    # Bug #50
+    r0 = [1131.340, -2282.343, 6672.423] * u.km
+    v0 = [-5.64305, 4.30333, 2.42879] * u.km / u.s
+    ss0 = State.from_vectors(Earth, r0, v0)
+    tof = 0 * u.s
+
+    ss1 = ss0.propagate(tof)
+
+    r, v = ss1.rv()
+
+    assert_array_almost_equal(r.value, r0.value)
+    assert_array_almost_equal(v.value, v0.value)

pip install -e .
parse_log_pytest
numpy>=1.16.0 astropy>=1.0 numba>=0.18 matplotlib jplephem scipy
pytest
apt-get update apt-get install -y gfortran
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
astropy @ file:///croot/astropy_1697468907928/work
Brotli @ file:///croot/brotli-split_1736182456865/work
contourpy @ file:///croot/contourpy_1738160616259/work
cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work
exceptiongroup==1.2.2
fonttools @ file:///croot/fonttools_1737039080035/work
importlib_resources @ file:///croot/importlib_resources-suite_1720641103994/work
iniconfig==2.1.0
jplephem @ file:///home/conda/feedstock_root/build_artifacts/jplephem_1734349820189/work
kiwisolver @ file:///croot/kiwisolver_1672387140495/work
llvmlite @ file:///croot/llvmlite_1736366675558/work
matplotlib==3.9.2
numba @ file:///croot/numba_1738606613869/work
numpy @ file:///croot/numpy_and_numpy_base_1708638617955/work/dist/numpy-1.26.4-cp39-cp39-linux_x86_64.whl#sha256=b69ac3eb7538c5a224df429dc49031914fb977825ee007f2c77a13f7aa6cd769
packaging @ file:///croot/packaging_1734472117206/work
pillow @ file:///croot/pillow_1738010226202/work
pluggy==1.5.0
-e git+https://github.com/poliastro/poliastro.git@f81a56b7ab28391b66091bcf002462749d2a8f65#egg=poliastro
pyerfa @ file:///croot/pyerfa_1738082786199/work
pyparsing @ file:///croot/pyparsing_1731445506121/work
PyQt6==6.7.1
PyQt6_sip @ file:///croot/pyqt-split_1740498191142/work/pyqt_sip
pytest==8.3.5
python-dateutil @ file:///croot/python-dateutil_1716495738603/work
PyYAML @ file:///croot/pyyaml_1728657952215/work
scipy @ file:///croot/scipy_1733756309941/work/dist/scipy-1.13.1-cp39-cp39-linux_x86_64.whl#sha256=3b247b926209f2d9f719ebae39faf3ff891b2596150ed8f8349adfc3eb19441c
sip @ file:///croot/sip_1738856193618/work
six @ file:///tmp/build/80754af9/six_1644875935023/work
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
tornado @ file:///croot/tornado_1733960490606/work
unicodedata2 @ file:///croot/unicodedata2_1736541023050/work
zipp @ file:///croot/zipp_1732630741423/work

name: poliastro
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - astropy=5.3.4=py39ha9d4c09_0
  - blas=1.0=openblas
  - brotli-python=1.0.9=py39h6a678d5_9
  - bzip2=1.0.8=h5eee18b_6
  - c-ares=1.19.1=h5eee18b_0
  - ca-certificates=2025.2.25=h06a4308_0
  - contourpy=1.2.1=py39hdb19cb5_1
  - cycler=0.11.0=pyhd3eb1b0_0
  - cyrus-sasl=2.1.28=h52b45da_1
  - expat=2.6.4=h6a678d5_0
  - fontconfig=2.14.1=h55d465d_3
  - fonttools=4.55.3=py39h5eee18b_0
  - freetype=2.12.1=h4a9f257_0
  - icu=73.1=h6a678d5_0
  - importlib_resources=6.4.0=py39h06a4308_0
  - jpeg=9e=h5eee18b_3
  - jplephem=2.21=pyh9b8db34_1
  - kiwisolver=1.4.4=py39h6a678d5_0
  - krb5=1.20.1=h143b758_1
  - lcms2=2.16=hb9589c4_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - lerc=4.0.0=h6a678d5_0
  - libabseil=20250127.0=cxx17_h6a678d5_0
  - libcups=2.4.2=h2d74bed_1
  - libcurl=8.12.1=hc9e6f67_0
  - libdeflate=1.22=h5eee18b_0
  - libedit=3.1.20230828=h5eee18b_0
  - libev=4.33=h7f8727e_1
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgfortran-ng=11.2.0=h00389a5_1
  - libgfortran5=11.2.0=h1234567_1
  - libglib=2.78.4=hdc74915_0
  - libgomp=11.2.0=h1234567_1
  - libiconv=1.16=h5eee18b_3
  - libllvm14=14.0.6=hecde1de_4
  - libnghttp2=1.57.0=h2d74bed_0
  - libopenblas=0.3.21=h043d6bf_0
  - libpng=1.6.39=h5eee18b_0
  - libpq=17.4=hdbd6064_0
  - libprotobuf=5.29.3=hc99497a_0
  - libssh2=1.11.1=h251f7ec_0
  - libstdcxx-ng=11.2.0=h1234567_1
  - libtiff=4.5.1=hffd6297_1
  - libuuid=1.41.5=h5eee18b_0
  - libwebp-base=1.3.2=h5eee18b_1
  - libxcb=1.15=h7f8727e_0
  - libxkbcommon=1.0.1=h097e994_2
  - libxml2=2.13.5=hfdd30dd_0
  - llvmlite=0.43.0=py39h6a678d5_1
  - lz4-c=1.9.4=h6a678d5_1
  - matplotlib=3.9.2=py39h06a4308_1
  - matplotlib-base=3.9.2=py39hbfdbfaf_1
  - mysql=8.4.0=h721767e_2
  - ncurses=6.4=h6a678d5_0
  - numba=0.60.0=py39h6a678d5_1
  - numpy=1.26.4=py39heeff2f4_0
  - numpy-base=1.26.4=py39h8a23956_0
  - openjpeg=2.5.2=he7f1fd0_0
  - openldap=2.6.4=h42fbc30_0
  - openssl=3.0.16=h5eee18b_0
  - packaging=24.2=py39h06a4308_0
  - pcre2=10.42=hebb0a14_1
  - pillow=11.1.0=py39hcea889d_0
  - pip=25.0=py39h06a4308_0
  - pybind11-abi=4=hd3eb1b0_1
  - pyerfa=2.0.1.5=py39h5eee18b_0
  - pyparsing=3.2.0=py39h06a4308_0
  - pyqt=6.7.1=py39h6a678d5_0
  - pyqt6-sip=13.9.1=py39h5eee18b_0
  - python=3.9.21=he870216_1
  - python-dateutil=2.9.0post0=py39h06a4308_2
  - pyyaml=6.0.2=py39h5eee18b_0
  - qtbase=6.7.3=hdaa5aa8_0
  - qtdeclarative=6.7.3=h6a678d5_0
  - qtsvg=6.7.3=he621ea3_0
  - qttools=6.7.3=h80c7b02_0
  - qtwebchannel=6.7.3=h6a678d5_0
  - qtwebsockets=6.7.3=h6a678d5_0
  - readline=8.2=h5eee18b_0
  - scipy=1.13.1=py39heeff2f4_1
  - setuptools=75.8.0=py39h06a4308_0
  - sip=6.10.0=py39h6a678d5_0
  - six=1.16.0=pyhd3eb1b0_1
  - sqlite=3.45.3=h5eee18b_0
  - tbb=2021.8.0=hdb19cb5_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py39h06a4308_0
  - tornado=6.4.2=py39h5eee18b_0
  - tzdata=2025a=h04d1e81_0
  - unicodedata2=15.1.0=py39h5eee18b_1
  - wheel=0.45.1=py39h06a4308_0
  - xcb-util-cursor=0.1.4=h5eee18b_0
  - xz=5.6.4=h5eee18b_1
  - yaml=0.2.5=h7b6447c_0
  - zipp=3.21.0=py39h06a4308_0
  - zlib=1.2.13=h5eee18b_1
  - zstd=1.5.6=hc292b87_0
  - pip:
      - exceptiongroup==1.2.2
      - iniconfig==2.1.0
      - pluggy==1.5.0
      - pytest==8.3.5
prefix: /opt/conda/envs/poliastro

poliastro/tests/test_twobody.py::test_propagation_zero_time_returns_same_state
poliastro/tests/test_twobody.py::test_state_has_attractor_given_in_constructor poliastro/tests/test_twobody.py::test_default_time_for_new_state poliastro/tests/test_twobody.py::test_state_has_elements_given_in_constructor poliastro/tests/test_twobody.py::test_state_has_individual_elements poliastro/tests/test_twobody.py::test_circular_has_proper_semimajor_axis poliastro/tests/test_twobody.py::test_geosync_has_proper_period poliastro/tests/test_twobody.py::test_parabolic_elements_fail_early poliastro/tests/test_twobody.py::test_parabolic_has_proper_eccentricity poliastro/tests/test_twobody.py::test_parabolic_has_zero_energy poliastro/tests/test_twobody.py::test_perigee_and_apogee poliastro/tests/test_twobody.py::test_convert_from_rv_to_coe poliastro/tests/test_twobody.py::test_apply_zero_maneuver_returns_equal_state poliastro/tests/test_twobody.py::test_apply_maneuver_changes_epoch poliastro/tests/test_twobody.py::test_perifocal_points_to_perigee poliastro/tests/test_twobody.py::test_pqw_for_circular_equatorial_orbit
poliastro/tests/test_twobody.py::test_state_raises_unitserror_if_elements_units_are_wrong poliastro/tests/test_twobody.py::test_state_has_rv_given_in_constructor poliastro/tests/test_twobody.py::test_state_raises_unitserror_if_rv_units_are_wrong poliastro/tests/test_twobody.py::test_convert_from_coe_to_rv poliastro/tests/test_twobody.py::test_propagate
poliastro/twobody/propagation.py README
poliastro/twobody/propagation.py README