diff --git a/src/server/sparql/Filters.js b/src/server/sparql/Filters.js
index 90d9218e1caa85bf2853758070143fdc5c8c0690..7722d9409c9bde38a6fbbd691653506672a3e23a 100644
--- a/src/server/sparql/Filters.js
+++ b/src/server/sparql/Filters.js
@@ -195,16 +195,20 @@ const generateIntegerFilter = ({
 }) => {
   const facetConfig = backendSearchConfig[facetClass].facets[facetID]
   const { start, end } = values
+  const typecasting = facetConfig.typecasting
+    ? facetConfig.typecasting
+    : 'BIND(xsd:integer(ROUND(?value)) as ?valueAsInteger)'
   let integerFilter = ''
   if (start === '') {
-    integerFilter = `xsd:integer(?value) <= ${end}`
+    integerFilter = `?valueAsInteger <= ${end}`
   } else if (end === '') {
-    integerFilter = `xsd:integer(?value) >= ${start}`
+    integerFilter = `?valueAsInteger >= ${start}`
   } else {
-    integerFilter = `xsd:integer(?value) >= ${start} && xsd:integer(?value) <= ${end}`
+    integerFilter = `?valueAsInteger >= ${start} && ?valueAsInteger <= ${end}`
   }
   const filterStr = `
     ?${filterTarget} ${facetConfig.predicate} ?value .
+    ${typecasting}
     FILTER(
       ${integerFilter}
     )
diff --git a/src/server/sparql/sampo/perspective_configs/Perspective1Config.js b/src/server/sparql/sampo/perspective_configs/Perspective1Config.js
index 0c44e8cd125b283ccfb9e3580f78f76cb14885b9..cc74179e8e360cdf607589a66020447956dd5470 100644
--- a/src/server/sparql/sampo/perspective_configs/Perspective1Config.js
+++ b/src/server/sparql/sampo/perspective_configs/Perspective1Config.js
@@ -128,7 +128,8 @@ export const perspective1Config = {
       facetValueFilter: '',
       labelPath: 'mmm-schema:height/crm:P90_has_value',
       predicate: 'mmm-schema:height/crm:P90_has_value',
-      type: 'integer'
+      type: 'integer',
+      typecasting: 'BIND(xsd:integer(ROUND(?value)) as ?valueAsInteger)'
     },
     width: {
       id: 'width',