diff --git a/python/example/single_cell_detailed.py b/python/example/single_cell_detailed.py
index d02238396983cc99be8bec7eb44fa1a55f426675..71e1346ab1040c9bcbef8ab278128c5464f0627f 100755
--- a/python/example/single_cell_detailed.py
+++ b/python/example/single_cell_detailed.py
@@ -92,7 +92,7 @@ model.catalogue.extend(arbor.allen_catalogue(), "")
 
 # (7) Add probes.
 
-model.probe('voltage', where='"custom_terminal"',  frequency=50000)
+model.probe('voltage', where='"custom_terminal"',  frequency=50)
 
 # (8) Run the simulation.
 
diff --git a/python/example/single_cell_model.py b/python/example/single_cell_model.py
index 319c8ee34af8b329e647cee0b8515e3c2f6489fc..76f0153ec64e156b3b9a04105883e358f0020a38 100755
--- a/python/example/single_cell_model.py
+++ b/python/example/single_cell_model.py
@@ -25,7 +25,7 @@ cell = arbor.cable_cell(tree, labels, decor)
 m = arbor.single_cell_model(cell)
 
 # (6) Attach voltage probe sampling at 10 kHz (every 0.1 ms).
-m.probe('voltage', '"midpoint"', frequency=10000)
+m.probe('voltage', '"midpoint"', frequency=10)
 
 # (7) Run simulation for 30 ms of simulated activity.
 m.run(tfinal=30)
diff --git a/python/example/single_cell_nml.py b/python/example/single_cell_nml.py
index cb5e668ff9177fd4a85c6b0c42c151a0cef9bfc1..838cb92590987e4947fe504532702df4edb37a05 100755
--- a/python/example/single_cell_nml.py
+++ b/python/example/single_cell_nml.py
@@ -80,9 +80,9 @@ print(cell.locations('"axon_end"'))
 m = arbor.single_cell_model(cell)
 
 # Attach voltage probes that sample at 50 kHz.
-m.probe('voltage', where='"root"',  frequency=50000)
-m.probe('voltage', where='"stim_site"',  frequency=50000)
-m.probe('voltage', where='"axon_end"', frequency=50000)
+m.probe('voltage', where='"root"',  frequency=50)
+m.probe('voltage', where='"stim_site"',  frequency=50)
+m.probe('voltage', where='"axon_end"', frequency=50)
 
 # Simulate the cell for 15 ms.
 tfinal=15
diff --git a/python/example/single_cell_swc.py b/python/example/single_cell_swc.py
index 63113384db0b86af3ed419f3607d790aef09b5a8..07609347a5f70e8dab940552d21fa18b934336f1 100755
--- a/python/example/single_cell_swc.py
+++ b/python/example/single_cell_swc.py
@@ -72,9 +72,9 @@ print(cell.locations('"axon_end"'))
 m = arbor.single_cell_model(cell)
 
 # Attach voltage probes that sample at 50 kHz.
-m.probe('voltage', where='"root"',  frequency=50000)
-m.probe('voltage', where='"stim_site"',  frequency=50000)
-m.probe('voltage', where='"axon_end"', frequency=50000)
+m.probe('voltage', where='"root"',  frequency=50)
+m.probe('voltage', where='"stim_site"',  frequency=50)
+m.probe('voltage', where='"axon_end"', frequency=50)
 
 # Simulate the cell for 15 ms.
 tfinal=15
diff --git a/python/single_cell_model.cpp b/python/single_cell_model.cpp
index 6fd99c824edb951f7e2f6188f03dfd7cb2033f9c..22b17ada403bf9c7919e114a60635205f3fbb9ad 100644
--- a/python/single_cell_model.cpp
+++ b/python/single_cell_model.cpp
@@ -194,7 +194,7 @@ public:
 
             traces_.push_back({"voltage", p.site, {}, {}});
 
-            auto sched = arb::regular_schedule(p.frequency);
+            auto sched = arb::regular_schedule(1.0/p.frequency);
 
             // Now attach the sampler at probe site, with sampling schedule sched, writing to voltage
             sim_->add_sampler(arb::one_probe({0,i}), sched, trace_callback(traces_[i]));