diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_ranges_integer_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_ranges_integer_e.ttcn
index 61404c99d0cac94bac4fe3b34f6fdb5ff407c47f..f99672d14de25ea697620ee8ed5a0f1e271672b9 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_ranges_integer_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_ranges_integer_e.ttcn
@@ -91,6 +91,12 @@ with {
 };
 
 
+type XSD.Long LongMin_1 (-1 .. 9223372036854775807)
+with {
+  variant "name as 'longMin-1'";
+};
+
+
 }
 with {
   encode "XML";
diff --git a/regression_test/XML/XmlWorkflow/xsd/ranges_integer.xsd b/regression_test/XML/XmlWorkflow/xsd/ranges_integer.xsd
index f5ef1544010fa26ec3fa6afbc32aeca6fe27693d..fa8d4edc183af8cb44582ac9303d71d95698b84e 100644
--- a/regression_test/XML/XmlWorkflow/xsd/ranges_integer.xsd
+++ b/regression_test/XML/XmlWorkflow/xsd/ranges_integer.xsd
@@ -65,4 +65,10 @@ targetNamespace="www.example.org/ranges/integer">
 	</restriction>
 </simpleType>
 
+<simpleType name="longMin-1">
+	<restriction base="long">
+		<minInclusive value="-1" />
+	</restriction>
+</simpleType>
+
 </schema>
diff --git a/xsdconvert/SimpleType.cc b/xsdconvert/SimpleType.cc
index e853f942725ff1c66e412b40d4cf06c636223d33..47f2d763331cf8ca7a9d569b046dc8e3db8f401c 100644
--- a/xsdconvert/SimpleType.cc
+++ b/xsdconvert/SimpleType.cc
@@ -1524,6 +1524,9 @@ void ValueType::applyFacets() // only for integer and float types
     upper = -1;
   } else if (base == "nonNegativeInteger") {
     lower = 0;
+  } else if (base == "long") {
+    lower = LLONG_MIN;
+    upper = LLONG_MAX;
   } else if (base == "unsignedLong") {
     lower = 0;
     upper = ULLONG_MAX;