diff --git a/tree.c b/tree.c
index 4ae0a1e..2b14558 100644
--- a/tree.c
+++ b/tree.c
@@ -3715,12 +3715,11 @@
     switch (cur->type) {
         case XML_DOCUMENT_FRAG_NODE:
         case XML_ELEMENT_NODE:
+        case XML_ATTRIBUTE_NODE:
 	    if (cur->children != NULL) xmlFreeNodeList(cur->children);
 	    cur->children = xmlStringGetNodeList(cur->doc, content);
 	    UPDATE_LAST_CHILD_AND_PARENT(cur)
 	    break;
-        case XML_ATTRIBUTE_NODE:
-	    break;
         case XML_TEXT_NODE:
         case XML_CDATA_SECTION_NODE:
         case XML_ENTITY_REF_NODE:
@@ -3795,12 +3794,11 @@
     switch (cur->type) {
         case XML_DOCUMENT_FRAG_NODE:
         case XML_ELEMENT_NODE:
+        case XML_ATTRIBUTE_NODE:
 	    if (cur->children != NULL) xmlFreeNodeList(cur->children);
 	    cur->children = xmlStringLenGetNodeList(cur->doc, content, len);
 	    UPDATE_LAST_CHILD_AND_PARENT(cur)
 	    break;
-        case XML_ATTRIBUTE_NODE:
-	    break;
         case XML_TEXT_NODE:
         case XML_CDATA_SECTION_NODE:
         case XML_ENTITY_REF_NODE:
@@ -5701,23 +5699,17 @@
 	return;
     }
     if (cur->type == XML_PI_NODE) {
+    	xmlBufferWriteChar(buf, "<?");
+	xmlBufferWriteCHAR(buf, cur->name);
 	if (cur->content != NULL) {
-	    xmlBufferWriteChar(buf, "<?");
-	    xmlBufferWriteCHAR(buf, cur->name);
-	    if (cur->content != NULL) {
-		xmlBufferWriteChar(buf, " ");
+	    xmlBufferWriteChar(buf, " ");
 #ifndef XML_USE_BUFFER_CONTENT
-		xmlBufferWriteCHAR(buf, cur->content);
+	    xmlBufferWriteCHAR(buf, cur->content);
 #else
-		xmlBufferWriteCHAR(buf, xmlBufferContent(cur->content));
+	    xmlBufferWriteCHAR(buf, xmlBufferContent(cur->content));
 #endif
-	    }
-	    xmlBufferWriteChar(buf, "?>");
-	} else {
-	    xmlBufferWriteChar(buf, "<?");
-	    xmlBufferWriteCHAR(buf, cur->name);
-	    xmlBufferWriteChar(buf, "?>");
 	}
+	xmlBufferWriteChar(buf, "?>");
 	return;
     }
     if (cur->type == XML_COMMENT_NODE) {
