diff --git a/cellmlmanip/model.py b/cellmlmanip/model.py
index d0882a0..90b458b 100644
--- a/cellmlmanip/model.py
+++ b/cellmlmanip/model.py
@@ -968,7 +968,7 @@ class Model(object):
 
         # If original has initial_value calculate new initial value (only needed for INPUT case)
         new_value = None
-        if direction == DataDirectionFlow.INPUT and original_variable.initial_value:
+        if direction == DataDirectionFlow.INPUT and original_variable.initial_value is not None:
             new_value = original_variable.initial_value * cf
 
         # Create new variable

Initial values aren't copied in unit conversion
If they're 0
diff --git a/tests/test_unit_conversion.py b/tests/test_unit_conversion.py
index 1a8867c..23b9867 100644
--- a/tests/test_unit_conversion.py
+++ b/tests/test_unit_conversion.py
@@ -213,6 +213,21 @@ class TestUnitConversion:
         assert len(states) == 1
         assert symbol_a in states
 
+    def test_add_input_state_variable_initial_zero(self, local_model):
+        """
+        Same as :meth:`test_add_input_state_variable`, but for the special case where the initial value of the state
+        variable is 0.
+        """
+        assert self._original_state_local_model(local_model)
+
+        # change mV to V
+        original_var = local_model.get_variable_by_cmeta_id('sv11')
+        original_var.initial_value = 0
+        volt_unit = local_model.units.get_unit('volt')
+        newvar = local_model.convert_variable(original_var, volt_unit, DataDirectionFlow.INPUT)
+        assert newvar != original_var
+        assert newvar.initial_value == 0
+
     def test_add_input_free_variable(self, local_model):
         """ Tests the Model.convert_variable function that changes units of given variable.
         This particular case tests changing a free variable

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-cov flake8 isort codecov
3.6
requirements/base.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
-e git+https://github.com/ModellingWebLab/cellmlmanip.git@fd7465f18e0cb8b288a6d1949deafb6f712102d2#egg=cellmlmanip
certifi==2021.5.30
charset-normalizer==2.0.12
codecov==2.1.13
coverage==6.2
decorator==4.4.0
flake8==5.0.4
idna==3.10
importlib-metadata==4.2.0
iniconfig==1.1.1
isodate==0.6.0
isort==5.10.1
lxml==4.4.1
mccabe==0.7.0
mpmath==1.1.0
networkx==2.3
packaging==21.3
Pint==0.9
pluggy==1.0.0
py==1.11.0
pycodestyle==2.9.1
pyflakes==2.5.0
pyparsing==2.4.2
pytest==7.0.1
pytest-cov==4.0.0
rdflib==4.2.2
requests==2.27.1
six==1.12.0
sympy==1.4
tomli==1.2.3
typing_extensions==4.1.1
urllib3==1.26.20
zipp==3.6.0

name: cellmlmanip
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
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - charset-normalizer==2.0.12
      - codecov==2.1.13
      - coverage==6.2
      - decorator==4.4.0
      - flake8==5.0.4
      - idna==3.10
      - importlib-metadata==4.2.0
      - iniconfig==1.1.1
      - isodate==0.6.0
      - isort==5.10.1
      - lxml==4.4.1
      - mccabe==0.7.0
      - mpmath==1.1.0
      - networkx==2.3
      - packaging==21.3
      - pint==0.9
      - pluggy==1.0.0
      - py==1.11.0
      - pycodestyle==2.9.1
      - pyflakes==2.5.0
      - pyparsing==2.4.2
      - pytest==7.0.1
      - pytest-cov==4.0.0
      - rdflib==4.2.2
      - requests==2.27.1
      - six==1.12.0
      - sympy==1.4
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - zipp==3.6.0
prefix: /opt/conda/envs/cellmlmanip

tests/test_unit_conversion.py::TestUnitConversion::test_add_input_state_variable_initial_zero
tests/test_unit_conversion.py::TestUnitConversion::test_bad_units tests/test_unit_conversion.py::TestUnitConversion::test_providing_unit_store tests/test_unit_conversion.py::TestUnitConversion::test_add_input_state_variable tests/test_unit_conversion.py::TestUnitConversion::test_add_input_free_variable tests/test_unit_conversion.py::TestUnitConversion::test_add_input_literal_variable tests/test_unit_conversion.py::TestUnitConversion::test_add_input_free_variable_multiple tests/test_unit_conversion.py::TestUnitConversion::test_multiple_odes tests/test_unit_conversion.py::TestUnitConversion::test_multiple_odes_1 tests/test_unit_conversion.py::TestUnitConversion::test_add_output tests/test_unit_conversion.py::TestUnitConversion::test_add_output_state_variable tests/test_unit_conversion.py::TestUnitConversion::test_add_output_free_variable tests/test_unit_conversion.py::TestUnitConversion::test_convert_variable_invalid_arguments tests/test_unit_conversion.py::TestUnitConversion::test_convert_same_unit_different_name tests/test_unit_conversion.py::TestUnitConversion::test_convert_variable_no_cmeta_id tests/test_unit_conversion.py::TestUnitConversion::test_unique_names
cellmlmanip/model.py
cellmlmanip/model.py