diff --git a/check_zfs b/check_zfs
index f3a880ef6e1577ecef90b8362fd8398912e043ed..2662820b5fbb1d0696ece4320603c9e2f7464ab6 100644
--- a/check_zfs
+++ b/check_zfs
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-PATH=/usr/sbin:bin
+PATH=/usr/sbin:/bin
 export PATH
 
 if [ $# -ne 1 ]
@@ -16,10 +16,10 @@ size=`zpool list -H -o size $POOL`
 avail=`zpool list -H -o available $POOL`
 
 bytes () {
-    echo $1 | sed -e 's/G/ * 1024M/' -e  's/M/ * 1024K/' -e  's/K/ * 1024/' | xargs expr
+    echo $1 | sed -e 's/G/ * 1024M/' -e  's/M/ * 1024K/' -e  's/K/ * 1024/' | bc
 }
 
-capacity=`expr 100 - 100 '*' \`bytes $avail\` / \`bytes $size\``
+capacity=`echo 100 - 100 '*' \`bytes $avail\` / \`bytes $size\` | bc`
 
 if [ x"$health" != xONLINE ]
 then