diff --git a/xml/upgrade-1.3.xsl b/xml/upgrade-1.3.xsl
index 317e74ce34..0d41bafd0a 100644
--- a/xml/upgrade-1.3.xsl
+++ b/xml/upgrade-1.3.xsl
@@ -1,102 +1,102 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <xsl:stylesheet version="1.0"
 		xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 		xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
 <xsl:output method='xml' version='1.0' encoding='UTF-8' indent='yes'/>
 
 <xsl:template match="role_ref">
   <xsl:element name="role">
     <xsl:apply-templates select="@*"/>
     <xsl:apply-templates select="node()" />
   </xsl:element>
 </xsl:template>
 
 <xsl:template match="read|write|deny">
   <xsl:element name="acl_permission">
 
     <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
     <xsl:attribute name="kind"><xsl:value-of select="name()"/></xsl:attribute>
 
     <xsl:if test="@ref">
       <xsl:attribute name="reference"><xsl:value-of select="@ref"/></xsl:attribute>
-      <xsl:if test="@attribute">
-	<xsl:attribute name="attribute"><xsl:value-of select="@attribute"/></xsl:attribute>
-      </xsl:if>
     </xsl:if>
     <xsl:if test="not(@ref)">
       <xsl:if test="@tag">
 	<xsl:attribute name="object-type"><xsl:value-of select="@tag"/></xsl:attribute>
+	<xsl:if test="@attribute">
+	  <xsl:attribute name="attribute"><xsl:value-of select="@attribute"/></xsl:attribute>
+	</xsl:if>
       </xsl:if>
     </xsl:if>
 
     <xsl:if test="@xpath">
       <xsl:attribute name="xpath"><xsl:value-of select="@xpath"/></xsl:attribute>
     </xsl:if>
 
   </xsl:element>
 </xsl:template>
 
 <xsl:template match="acl_user[role_ref]">
   <!-- schema disallows role_ref's AND deny/reda/write -->
   <xsl:element name="acl_target">
     <xsl:apply-templates select="@*"/>
     <xsl:apply-templates select="node()" />
   </xsl:element>
 </xsl:template>
 
 <xsl:template match="acl_user[not(role_ref)]">
 
   <xsl:element name="acl_target">
     <xsl:for-each select="@*"> 
       <xsl:apply-templates select="."/>
     </xsl:for-each>
 
     <xsl:if test="count(deny|read|write)" > 
       <xsl:element name="role">
 	<xsl:attribute name="id">
 	  <xsl:text>auto-</xsl:text>
 	  <xsl:value-of select="@id"/>
 	</xsl:attribute>
       </xsl:element>
     </xsl:if>
 
   </xsl:element>
 
   <xsl:if test="count(deny|read|write)" > 
     <xsl:element name="acl_role">
       <xsl:attribute name="id">
 	<xsl:text>auto-</xsl:text>
 	<xsl:value-of select="@id"/>
       </xsl:attribute>
       <xsl:for-each select="node()"> 
 	<xsl:choose>
 	  <xsl:when test="starts-with(name(), 'role_ref')"/>
 	  <xsl:otherwise>
 	    <xsl:apply-templates select="."/>
 	  </xsl:otherwise>
 	</xsl:choose>
       </xsl:for-each>
     </xsl:element>
   </xsl:if>
 
 </xsl:template>
 
 <xsl:template match="@*">
   <xsl:attribute name="{name()}">
     <xsl:value-of select="."/>
   </xsl:attribute>
 </xsl:template>
 
 <xsl:template match="/">
   <xsl:apply-templates select="@*"/>
   <xsl:apply-templates select="node()"/>
 </xsl:template>
 
 <xsl:template match="*">
   <xsl:element name="{name()}">
     <xsl:apply-templates select="@*"/>
     <xsl:apply-templates select="node()" />
   </xsl:element>
 </xsl:template>
 
 </xsl:stylesheet>