diff --git a/src/main/java/org/olat/ims/qti21/model/xml/interactions/FIBAssessmentItemBuilder.java b/src/main/java/org/olat/ims/qti21/model/xml/interactions/FIBAssessmentItemBuilder.java
index ecb586d18e9313ebeba49007cd7e1ca39ac047ea..2ebed1ecf27e688cd672e8d699f8486e3e5d792e 100644
--- a/src/main/java/org/olat/ims/qti21/model/xml/interactions/FIBAssessmentItemBuilder.java
+++ b/src/main/java/org/olat/ims/qti21/model/xml/interactions/FIBAssessmentItemBuilder.java
@@ -955,18 +955,32 @@ public class FIBAssessmentItemBuilder extends AssessmentItemBuilder {
 			if(StringHelper.containsNonWhitespace(response)) {
 				try {
 					double firstNumber = Double.parseDouble(response);
-					double lTolerance = lowerTolerance == null ? 0.0d : lowerTolerance.doubleValue();
-					double uTolerance = upperTolerance == null ? 0.0d : upperTolerance.doubleValue();
-					return toleranceMode.isEqual(firstNumber, solution,
-							lTolerance, uTolerance,
-							true, true);
+					return match(firstNumber);
+				} catch(NumberFormatException nfe) {
+					if(response.indexOf(',') >= 0) {//allow , instead of .
+	                    try {
+							double firstNumber = Double.parseDouble(response.replace(',', '.'));
+							return match(firstNumber);
+						} catch (final NumberFormatException e1) {
+							//format can happen
+						} catch (Exception e) {
+							log.error("", e);
+						}
+	            	}
 				} catch (Exception e) {
 					log.error("", e);
-					return false;
 				}
 			}
 			return false;
 		}
+		
+		private boolean match(double firstNumber) {
+			double lTolerance = lowerTolerance == null ? 0.0d : lowerTolerance.doubleValue();
+			double uTolerance = upperTolerance == null ? 0.0d : upperTolerance.doubleValue();
+			return toleranceMode.isEqual(firstNumber, solution,
+					lTolerance, uTolerance,
+					true, true);
+		}
 	}
 	
 	public static class TextEntry extends AbstractEntry {