diff --git a/CMakeLists.txt b/CMakeLists.txt
index a0a977795fac8b9f486d7f0cf82e025e2300858f..557a81e0f32c0018f7b06ff8cc4050381316759f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -379,7 +379,9 @@ if( WALBERLA_OPTIMIZE_FOR_LOCALHOST )
       endif()
 
       if( EXISTS "/proc/sys/abi/sve_default_vector_length" )
-        file( READ "/proc/sys/abi/sve_default_vector_length" SVE_LENGTH )
+        file( READ "/proc/sys/abi/sve_default_vector_length" SVE_LENGTH_BYTES )
+        string(STRIP "${SVE_LENGTH_BYTES}" SVE_LENGTH_BYTES)
+        math(EXPR SVE_LENGTH "${SVE_LENGTH_BYTES} * 8")
         add_flag ( CMAKE_CXX_FLAGS "-msve-vector-bits=${SVE_LENGTH}" )
         add_flag ( CMAKE_C_FLAGS   "-msve-vector-bits=${SVE_LENGTH}" )
       endif()