diff --git a/src/app/data_harvester/processes/macos_freebsd.rs b/src/app/data_harvester/processes/macos_freebsd.rs
index 588d49dc..a4ac1e2d 100644
--- a/src/app/data_harvester/processes/macos_freebsd.rs
+++ b/src/app/data_harvester/processes/macos_freebsd.rs
@@ -50,11 +50,12 @@ where
         };
 
         let pcu = {
-            let p = process_val.cpu_usage() as f64 / num_processors;
-            if p.is_nan() {
-                process_val.cpu_usage() as f64
+            let usage = process_val.cpu_usage() as f64;
+            let res = usage / num_processors;
+            if res.is_finite() {
+                res
             } else {
-                p
+                usage
             }
         };
         let process_cpu_usage = if use_current_cpu_total && cpu_usage > 0.0 {
diff --git a/src/app/data_harvester/processes/windows.rs b/src/app/data_harvester/processes/windows.rs
index 7eac0411..55b59086 100644
--- a/src/app/data_harvester/processes/windows.rs
+++ b/src/app/data_harvester/processes/windows.rs
@@ -42,11 +42,12 @@ pub fn get_process_data(
         };
 
         let pcu = {
-            let p = process_val.cpu_usage() as f64 / num_processors;
-            if p.is_nan() {
-                process_val.cpu_usage() as f64
+            let usage = process_val.cpu_usage() as f64;
+            let res = usage / num_processors;
+            if res.is_finite() {
+                res
             } else {
-                p
+                usage
             }
         };
         let process_cpu_usage = if use_current_cpu_total && cpu_usage > 0.0 {