diff --git a/xmpp.go b/xmpp.go index 2ac0a09..d423278 100644 --- a/xmpp.go +++ b/xmpp.go @@ -1493,11 +1493,12 @@ func (c *Client) nextEnd() (xml.EndElement, error) { c.p.Strict = false for { c.nextMutex.Lock() - t, err := c.p.RawToken() - if err != nil || t == nil { + to, err := c.p.RawToken() + if err != nil || to == nil { c.nextMutex.Unlock() return xml.EndElement{}, err } + t := xml.CopyToken(to) switch t := t.(type) { case xml.EndElement: c.nextMutex.Unlock()