diff --git a/CHANGELOG.md b/CHANGELOG.md
index f49588c9b66a9e496248030709ab4c9f3879e91c..c96170c7fbe003e1f83bdddf4bbc7c69a6c2b32d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -43,6 +43,7 @@ release.
 - Apollo Metric drivers, tests, and data [#533](https://github.com/DOI-USGS/ale/pull/533)
 - Rosetta Virtis drivers, tests, and data [#520](https://github.com/DOI-USGS/ale/pull/520)
 - Added compress and decompress ISD functions and added --compress flag to isd_generate[#604](https://github.com/DOI-USGS/ale/issues/604)
+- Added the ability to generate ISDs with no velocities specified for instrument/sun position [#614](https://github.com/DOI-USGS/ale/issues/614)
 
 ### Changed
 - Changed how push frame sensor drivers compute the `ephemeris_time` property [#595](https://github.com/DOI-USGS/ale/pull/595)
diff --git a/ale/formatters/formatter.py b/ale/formatters/formatter.py
index 751afc6ad2cb6414648e4f98fb0436dbd33012a9..06a0cb60c325e514a1a591cf2ff1f4b47f44a58f 100644
--- a/ale/formatters/formatter.py
+++ b/ale/formatters/formatter.py
@@ -176,10 +176,12 @@ def to_isd(driver):
     instrument_position['spk_table_original_size'] = len(times)
     instrument_position['ephemeris_times'] = times
     # Rotate positions and velocities into J2000 then scale into kilometers
-    velocities = j2000_rotation.rotate_velocity_at(positions, velocities, times)/1000
+    # If velocities are provided, then rotate and add to ISD
+    if velocities is not None:
+        velocities = j2000_rotation.rotate_velocity_at(positions, velocities, times)/1000
+        instrument_position['velocities'] = velocities
     positions = j2000_rotation.apply_at(positions, times)/1000
     instrument_position['positions'] = positions
-    instrument_position['velocities'] = velocities
     instrument_position["reference_frame"] = j2000_rotation.dest
 
     meta_data['instrument_position'] = instrument_position
@@ -191,10 +193,13 @@ def to_isd(driver):
     sun_position['spk_table_original_size'] = len(times)
     sun_position['ephemeris_times'] = times
     # Rotate positions and velocities into J2000 then scale into kilometers
-    velocities = j2000_rotation.rotate_velocity_at(positions, velocities, times)/1000
+    # If velocities are provided, then rotate and add to ISD
+    if velocities is not None:
+        velocities = j2000_rotation.rotate_velocity_at(positions, velocities, times)/1000
+        sun_position['velocities'] = velocities
+    
     positions = j2000_rotation.apply_at(positions, times)/1000
     sun_position['positions'] = positions
-    sun_position['velocities'] = velocities
     sun_position["reference_frame"] = j2000_rotation.dest
 
     meta_data['sun_position'] = sun_position