diff --git a/core/XER.cc b/core/XER.cc
index 0feb4905511f9930273e3adc30359e1d94ecae86..53fd47ab0269ab48836c429d2af59b71ea4800ff 100644
--- a/core/XER.cc
+++ b/core/XER.cc
@@ -10,6 +10,7 @@
  *   Baranyi, Botond
  *   Ormandi, Matyas
  *   Raduly, Csaba
+ *   Szabo, Bence Janos
  *
  ******************************************************************************/
 #define DEFINE_XER_STRUCT
@@ -84,8 +85,10 @@ const char* verify_name(XmlReaderWrap& reader, const XERdescriptor_t& p_td, int
       }
       else {
         if (nsuri == 0) { // XML node has no namespace
-          TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_TAG,
-            "Missing namespace '%s'", expected_ns->ns);
+          if (p_td.my_module->get_ns(p_td.ns_index)->px[0] != 0) { // and module has namespace prefix
+            TTCN_EncDec_ErrorContext::error(TTCN_EncDec::ET_TAG,
+              "Missing namespace '%s'", expected_ns->ns);
+          }
         }
         else { // and there is one, but is it the right one ?
           if (strcmp(nsuri, expected_ns->ns)) {
diff --git a/regression_test/XML/AttributeFormDefault/AttributeFormDefaultWithNs.ttcn b/regression_test/XML/AttributeFormDefault/AttributeFormDefaultWithNs.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..87dab0a02afeefadfdccd86b89f64b592b8faa1c
--- /dev/null
+++ b/regression_test/XML/AttributeFormDefault/AttributeFormDefaultWithNs.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) 2000-2016 Ericsson Telecom AB
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   Bence Janos Szabo – initial implementation
+ *
+ ******************************************************************************/
+module AttributeFormDefaultWithNs {
+
+type component CT {};
+
+type record MyType {
+	integer attr1,
+	charstring attr2,
+	charstring field
+}
+with {
+  variant (attr1) "attribute";
+  variant (attr2) "attribute";
+}
+
+
+external function enc_MyType(in MyType pdu) return octetstring
+with { extension "prototype (convert) encode(XER:XER_EXTENDED)" }
+
+external function dec_MyType(in octetstring stream) return MyType
+with { extension "prototype (convert) decode(XER:XER_EXTENDED)" }
+
+const MyType c_instance := { attr1 := 3, attr2 := "attr", field := "field"};
+
+const universal charstring c_result := "<myns:MyType xmlns:myns='schema:AttributeFormDefaultWithoutNs' myns:attr1='3' myns:attr2='attr'>\n\t<myns:field>field</myns:field>\n</myns:MyType>\n\n";
+
+testcase tc_test() runs on CT {
+	var octetstring octet_result := enc_MyType(c_instance)
+	var universal charstring result := oct2unichar(octet_result);
+	if (result != c_result) {
+		setverdict(fail);
+	}
+
+	var MyType result_instance := dec_MyType(octet_result);
+	if (result_instance != c_instance) {
+		setverdict(fail);
+	}
+
+	setverdict(pass);
+}
+
+control {
+	execute(tc_test());
+}
+
+} with {
+encode "XML";
+variant "namespace as 'schema:AttributeFormDefaultWithoutNs' prefix 'myns'";
+variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
+variant "attributeFormQualified";
+variant "elementFormQualified";
+}
diff --git a/regression_test/XML/AttributeFormDefault/AttributeFormDefaultWithoutNs.ttcn b/regression_test/XML/AttributeFormDefault/AttributeFormDefaultWithoutNs.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..6a4914797a47525a22a9cf26323186277ba36993
--- /dev/null
+++ b/regression_test/XML/AttributeFormDefault/AttributeFormDefaultWithoutNs.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) 2000-2016 Ericsson Telecom AB
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   Bence Janos Szabo – initial implementation
+ *
+ ******************************************************************************/
+module AttributeFormDefaultWithoutNs {
+
+type component CT {};
+
+type record MyType {
+	integer attr1,
+	charstring attr2,
+	charstring field
+}
+with {
+  variant (attr1) "attribute";
+  variant (attr2) "attribute";
+}
+
+
+external function enc_MyType(in MyType pdu) return octetstring
+with { extension "prototype (convert) encode(XER:XER_EXTENDED)" }
+
+external function dec_MyType(in octetstring stream) return MyType
+with { extension "prototype (convert) decode(XER:XER_EXTENDED)" }
+
+const MyType c_instance := { attr1 := 3, attr2 := "attr", field := "field"};
+
+const universal charstring c_result := "<MyType xmlns='schema:AttributeFormDefaultWithoutNs' attr1='3' attr2='attr'>\n\t<field>field</field>\n</MyType>\n\n";
+
+testcase tc_test() runs on CT {
+	var octetstring octet_result := enc_MyType(c_instance)
+	var universal charstring result := oct2unichar(octet_result);
+	if (result != c_result) {
+		setverdict(fail);
+	}
+
+	var MyType result_instance := dec_MyType(octet_result);
+	if (result_instance != c_instance) {
+		setverdict(fail);
+	}
+
+	setverdict(pass);
+}
+
+control {
+	execute(tc_test());
+}
+
+} with {
+encode "XML";
+variant "namespace as 'schema:AttributeFormDefaultWithoutNs'";
+variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
+variant "attributeFormQualified";
+variant "elementFormQualified";
+}
diff --git a/regression_test/XML/AttributeFormDefault/AttributeFormWithNs.ttcn b/regression_test/XML/AttributeFormDefault/AttributeFormWithNs.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..06d487fc765d700045dc5b535d4295ca1db51820
--- /dev/null
+++ b/regression_test/XML/AttributeFormDefault/AttributeFormWithNs.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) 2000-2016 Ericsson Telecom AB
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   Bence Janos Szabo – initial implementation
+ *
+ ******************************************************************************/
+module AttributeFormWithNs {
+
+type component CT {};
+
+type record MyType {
+	integer attr1,
+	charstring attr2,
+	charstring field
+}
+with {
+  variant (attr1) "attribute";
+  variant (attr1) "form as qualified"
+  variant (attr2) "attribute";
+}
+
+
+external function enc_MyType(in MyType pdu) return octetstring
+with { extension "prototype (convert) encode(XER:XER_EXTENDED)" }
+
+external function dec_MyType(in octetstring stream) return MyType
+with { extension "prototype (convert) decode(XER:XER_EXTENDED)" }
+
+const MyType c_instance := { attr1 := 3, attr2 := "attr", field := "field"};
+
+const universal charstring c_result := "<myns:MyType xmlns:myns='schema:AttributeFormDefaultWithoutNs' myns:attr1='3' attr2='attr'>\n\t<myns:field>field</myns:field>\n</myns:MyType>\n\n";
+
+testcase tc_test() runs on CT {
+	var octetstring octet_result := enc_MyType(c_instance)
+	var universal charstring result := oct2unichar(octet_result);
+	if (result != c_result) {
+		setverdict(fail);
+	}
+
+	var MyType result_instance := dec_MyType(octet_result);
+	if (result_instance != c_instance) {
+		setverdict(fail);
+	}
+
+	setverdict(pass);
+}
+
+control {
+	execute(tc_test());
+}
+
+} with {
+encode "XML";
+variant "namespace as 'schema:AttributeFormDefaultWithoutNs' prefix 'myns'";
+variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
+variant "elementFormQualified";
+}
diff --git a/regression_test/XML/AttributeFormDefault/AttributeFormWithoutNs.ttcn b/regression_test/XML/AttributeFormDefault/AttributeFormWithoutNs.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..972d81637c70eb71d442d26c96eebe5dbc0a38b5
--- /dev/null
+++ b/regression_test/XML/AttributeFormDefault/AttributeFormWithoutNs.ttcn
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * Copyright (c) 2000-2016 Ericsson Telecom AB
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   Bence Janos Szabo – initial implementation
+ *
+ ******************************************************************************/
+module AttributeFormWithoutNs {
+
+type component CT {};
+
+type record MyType {
+	integer attr1,
+	charstring attr2,
+	charstring field
+}
+with {
+  variant (attr1) "attribute";
+  variant (attr1) "form as qualified"
+  variant (attr2) "attribute";
+}
+
+
+external function enc_MyType(in MyType pdu) return octetstring
+with { extension "prototype (convert) encode(XER:XER_EXTENDED)" }
+
+external function dec_MyType(in octetstring stream) return MyType
+with { extension "prototype (convert) decode(XER:XER_EXTENDED)" }
+
+const MyType c_instance := { attr1 := 3, attr2 := "attr", field := "field"};
+
+const universal charstring c_result := "<MyType xmlns='schema:AttributeFormDefaultWithoutNs' attr1='3' attr2='attr'>\n\t<field>field</field>\n</MyType>\n\n";
+
+testcase tc_test() runs on CT {
+	var octetstring octet_result := enc_MyType(c_instance)
+	var universal charstring result := oct2unichar(octet_result);
+	if (result != c_result) {
+		setverdict(fail);
+	}
+
+	var MyType result_instance := dec_MyType(octet_result);
+	if (result_instance != c_instance) {
+		setverdict(fail);
+	}
+
+	setverdict(pass);
+}
+
+control {
+	execute(tc_test());
+}
+
+} with {
+encode "XML";
+variant "namespace as 'schema:AttributeFormDefaultWithoutNs'";
+variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
+variant "elementFormQualified";
+}
diff --git a/regression_test/XML/AttributeFormDefault/Makefile b/regression_test/XML/AttributeFormDefault/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..5f7883e17ab75ad587dcb5a6732996a2c75bb579
--- /dev/null
+++ b/regression_test/XML/AttributeFormDefault/Makefile
@@ -0,0 +1,147 @@
+##############################################################################
+# Copyright (c) 2000-2016 Ericsson Telecom AB
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#   Bence Janos Szabo – initial implementation
+#
+##############################################################################
+TOPDIR = ../..
+include  ../../Makefile.regression
+
+# WARNING! This Makefile can be used with GNU make only.
+# Other versions of make may report syntax errors in it.
+
+#
+# Do NOT touch this line...
+#
+.PHONY: all archive check clean dep objects
+
+.SUFFIXES: .d
+
+#
+# Set these variables...
+#
+
+# Flags for the C++ preprocessor (and makedepend as well):
+#CPPFLAGS +=
+
+# Flags for dependency generation
+CXXDEPFLAGS = -MM
+
+# Flags for the C++ compiler:
+CXXFLAGS += -Wall
+
+# Flags for the linker:
+#LDFLAGS += 
+
+# Flags for the TTCN-3 and ASN.1 compiler:
+#COMPILER_FLAGS +=  
+
+# Execution mode: (either ttcn3 or ttcn3-parallel)
+TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX)
+
+#
+# You may change these variables. Add your files if necessary...
+#
+
+# TTCN-3 modules of this project:
+TTCN3_MODULES = AttributeFormDefaultWithoutNs.ttcn AttributeFormDefaultWithNs.ttcn AttributeFormWithoutNs.ttcn AttributeFormWithNs.ttcn
+
+# ASN.1 modules of this project:
+ASN1_MODULES =
+
+# C++ source & header files generated from the TTCN-3 & ASN.1 modules of
+# this project:
+GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc)
+GENERATED_HEADERS = $(GENERATED_SOURCES:.cc=.hh)
+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
+# C/C++ Source & header files of Test Ports, external functions and
+# other modules:
+USER_SOURCES =
+USER_HEADERS = $(USER_SOURCES:.cc=.hh)
+
+# Object files of this project that are needed for the executable test suite:
+OBJECTS = $(GENERATED_OBJECTS) $(USER_OBJECTS)
+
+GENERATED_OBJECTS = $(GENERATED_SOURCES:.cc=.o)
+
+USER_OBJECTS = $(USER_SOURCES:.cc=.o)
+
+DEPFILES = $(USER_OBJECTS:.o=.d)  $(GENERATED_OBJECTS:.o=.d)
+
+# Other files of the project (Makefile, configuration files, etc.)
+# that will be added to the archived source files:
+OTHER_FILES = Makefile
+
+# The name of the executable test suite:
+TARGET = AttributeFormDefault
+
+#
+# Rules for building the executable...
+#
+
+all: $(TARGET) ;
+
+objects: $(OBJECTS) compile;
+
+$(TARGET): $(OBJECTS)
+	if $(CXX) $(LDFLAGS) -o $@ $^ \
+	-L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
+	-L$(OPENSSL_DIR)/lib -lcrypto \
+	-L$(XMLDIR)/lib $($(PLATFORM)_LIBS); \
+	then : ; else $(TTCN3_DIR)/bin/titanver $(OBJECTS); exit 1; fi
+
+.cc.o .c.o:
+	$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
+
+.cc.d .c.d:
+	@echo Creating dependency file for '$<'; set -e; \
+	$(CXX) $(CXXDEPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $< \
+	| sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
+	[ -s $@ ] || rm -f $@
+
+$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
+	@if [ ! -f $@ ]; then $(RM) compile; $(MAKE) compile; fi
+
+compile: $(TTCN3_MODULES) $(ASN1_MODULES)
+	$(TTCN3_COMPILER) $(COMPILER_FLAGS) $^ - $?
+	touch $@
+
+clean distclean:
+	-$(RM) $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \
+	$(GENERATED_SOURCES) compile $(DEPFILES) \
+	tags *.log
+
+dep: $(GENERATED_SOURCES) $(USER_SOURCES) ;
+
+ifeq ($(findstring n,$(MAKEFLAGS)),)
+ifeq ($(filter clean distclean check compile archive diag,$(MAKECMDGOALS)),)
+-include $(DEPFILES)
+endif
+endif
+
+diag:
+	$(TTCN3_COMPILER) -v 2>&1
+	$(TTCN3_DIR)/bin/mctr_cli -v 2>&1
+	$(CXX) -v 2>&1
+	@echo TTCN3_DIR=$(TTCN3_DIR)
+	@echo OPENSSL_DIR=$(OPENSSL_DIR)
+	@echo XMLDIR=$(XMLDIR)
+	@echo PLATFORM=$(PLATFORM)
+
+#
+# Add your rules here if necessary...
+#
+
+run: $(TARGET)
+	./$^ config.cfg
+
diff --git a/regression_test/XML/AttributeFormDefault/config.cfg b/regression_test/XML/AttributeFormDefault/config.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..90b264ed1220e0e65c32d3dbc313fffd31d61f37
--- /dev/null
+++ b/regression_test/XML/AttributeFormDefault/config.cfg
@@ -0,0 +1,16 @@
+###############################################################################
+# Copyright (c) 2000-2016 Ericsson Telecom AB
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#   Szabo, Bence Janos
+#
+###############################################################################
+[EXECUTE]
+AttributeFormDefaultWithNs.control
+AttributeFormDefaultWithoutNs.control
+AttributeFormWithoutNs.control
+AttributeFormWithNs.control
\ No newline at end of file
diff --git a/regression_test/XML/Makefile b/regression_test/XML/Makefile
index ec0f6cc151ea6d5a1d69ba27da6d847ef9a0049d..f8187f37b9079c8f27a41f033a420b7ea7e42344 100644
--- a/regression_test/XML/Makefile
+++ b/regression_test/XML/Makefile
@@ -29,7 +29,7 @@ endif
 
 XDIRS := $(wildcard $(SHADOWED)) xsdConverter \
 HM60295 HN15589 HQ30408 HR49727 HU13380 $(RT2_ONLY) \
-XmlWorkflow tpdValidTest AbstractBlock UseNilLong
+XmlWorkflow tpdValidTest AbstractBlock UseNilLong AttributeFormDefault
 
 # List of fake targets:
 .PHONY: all dep clean run $(XDIRS) $(addsuffix /, $(XDIRS)) profile