diff --git a/util/spkmodem_recv/spkmodem-recv.c b/util/spkmodem_recv/spkmodem-recv.c
index ecee6fbbf6f81796c642e4ab5e0a038352ff830d..5efa25a75fc369aaa0dd91a9cb31be48495be234 100644
--- a/util/spkmodem_recv/spkmodem-recv.c
+++ b/util/spkmodem_recv/spkmodem-recv.c
@@ -36,8 +36,7 @@ read_sample (void)
 	fread (trame + ringpos, 1, sizeof (trame[0]), stdin);
 	amplitude += abs (trame[ringpos]);
 
-	if (pos ? (trame[ringpos] < -THRESHOLD)
-		: (trame[ringpos] > +THRESHOLD)) {
+	if (abs(trame[ringpos]) > THRESHOLD) { /* rising/falling edge(pulse) */
 		pulse[ringpos] = 1;
 		pos = !pos;
 		f2++;