diff --git a/common/Quadruple.cc b/common/Quadruple.cc
index c215a60b7ea253ea965c0cb8b1c9e8b8caf977d5..0dc6a3846ef25e257e1172c1c815ecf96bd067a9 100644
--- a/common/Quadruple.cc
+++ b/common/Quadruple.cc
@@ -431,6 +431,7 @@ void QuadSet::add(QuadInterval* interval) {
         if (it == set)
           set = it->next;
         quadset_node_t* p = it;
+        it_old->next = it->next;
         it = it->next;
         delete p;
         continue;
diff --git a/regression_test/compileonly/Bug568592/.gitignore b/regression_test/compileonly/Bug568592/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..a44ccf1feaaaa6b68767bdf8f1f36c5de15eeb81
--- /dev/null
+++ b/regression_test/compileonly/Bug568592/.gitignore
@@ -0,0 +1,4 @@
+Bug568592
+Bug568592.exe
+Bug568592*.cc
+Bug568592*.hh
diff --git a/regression_test/compileonly/Bug568592/Bug568592.ttcn b/regression_test/compileonly/Bug568592/Bug568592.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..c7e6d5af78816290478f79cd4a417104696e9f62
--- /dev/null
+++ b/regression_test/compileonly/Bug568592/Bug568592.ttcn
@@ -0,0 +1,19 @@
+/******************************************************************************
+ * Copyright (c) 2000-2020 Ericsson Telecom AB
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
+ *
+ * Contributors:
+ *   Baranyi, Botond
+ *
+ ******************************************************************************/
+
+// pattern subtyping, where a single elment in a set is followed by
+// an interval that contains the single element (bug 568592)
+module Bug568592 {
+
+type universal charstring T (pattern "[a-zA-Z\q{0, 0, 0, 38}&-;]");
+
+}
diff --git a/regression_test/compileonly/Bug568592/Makefile b/regression_test/compileonly/Bug568592/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..15d3ca9b6c9ff08c0efe93e01204d4bf6005bed7
--- /dev/null
+++ b/regression_test/compileonly/Bug568592/Makefile
@@ -0,0 +1,50 @@
+##############################################################################
+# Copyright (c) 2000-2020 Ericsson Telecom AB
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
+#
+# Contributors:
+#   Botond, Baranyi
+#
+##############################################################################
+TOPDIR := ../..
+include $(TOPDIR)/Makefile.regression
+
+.PHONY: all clean dep
+
+TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
+
+TTCN3_MODULES = Bug568592.ttcn
+
+GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc)
+GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
+ifdef CODE_SPLIT
+GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc  _seqof.cc _setof.cc _union.cc))
+else ifdef SPLIT_TO_SLICES
+POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_))
+POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc))
+GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES)))
+GENERATED_SOURCES += $(GENERATED_SOURCES2)
+endif
+
+OBJECTS = $(GENERATED_SOURCES:.cc=.o)
+
+TARGET = Bug568592$(EXESUFFIX)
+
+all: $(TARGET)
+
+$(TARGET): $(GENERATED_SOURCES) $(USER_SOURCES)
+	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
+	-L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS)
+
+$(GENERATED_SOURCES) $(GENERATED_HEADERS): $(TTCN3_MODULES)
+	$(TTCN3_COMPILER) $(COMPILER_FLAGS) $^
+
+clean distclean:
+	$(RM) $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
+	$(GENERATED_SOURCES) compile *.log
+
+dep: $(GENERATED_SOURCES)
+	makedepend $(CPPFLAGS) $(GENERATED_SOURCES)
diff --git a/regression_test/compileonly/Makefile b/regression_test/compileonly/Makefile
index cf0922753b142d0de103d0ff92b9498918bb3cb9..8b3f220e2880ea3ab0a593629f8c6788487bfa01 100644
--- a/regression_test/compileonly/Makefile
+++ b/regression_test/compileonly/Makefile
@@ -31,7 +31,7 @@ CODIRS := dynamicTemplate styleGuide topLevelPdu \
 	asn1_hyphen nameClash portTranslation UntaggedOnTopLevelUnionSwitch \
 	typeDescrGenWIthNoXER languageSpec asn1_opentype openTypeXER \
 	asnStringSubtypes componentParameter realtimeKeywords Bug550526 \
-	Bug550623 Bug552232 Bug568340
+	Bug550623 Bug552232 Bug568340 Bug568592
 
 ifdef DYN
 CODIRS +=  mfgen-xsd