diff --git a/src/org/apache/xalan/xsltc/compiler/ParameterRef.java b/src/org/apache/xalan/xsltc/compiler/ParameterRef.java
index 041ba3c..9644ad9 100644
--- a/src/org/apache/xalan/xsltc/compiler/ParameterRef.java
+++ b/src/org/apache/xalan/xsltc/compiler/ParameterRef.java
@@ -82,12 +82,10 @@
 		}
 		else {
 		    il.append(_variable.loadInstruction());
-		    _variable.removeReference(this);
 		}
 	    }
 	    else {
 		il.append(_variable.loadInstruction());
-		_variable.removeReference(this);
 	    }
 	}
 	else {
diff --git a/src/org/apache/xalan/xsltc/compiler/VariableBase.java b/src/org/apache/xalan/xsltc/compiler/VariableBase.java
index 1d6b478..c3f8391 100644
--- a/src/org/apache/xalan/xsltc/compiler/VariableBase.java
+++ b/src/org/apache/xalan/xsltc/compiler/VariableBase.java
@@ -82,14 +82,6 @@
     }
 
     /**
-     * Remove a reference to this variable. Called by VariableRef when this
-     * variable goes out of scope.
-     */
-    public void removeReference(VariableRefBase vref) {
-	_refs.remove(vref);
-    }
-
-    /**
      * Map this variable to a register
      */
     public void mapRegister(MethodGenerator methodGen) {
@@ -105,7 +97,7 @@
      * Called when we leave the AST scope of the variable's declaration
      */
     public void unmapRegister(MethodGenerator methodGen) {
-	if (_refs.isEmpty() && (_local != null)) {
+	if (_local != null) {
 	    _local.setEnd(methodGen.getInstructionList().getEnd());
 	    methodGen.removeLocalVariable(_local);
 	    _refs = null;
diff --git a/src/org/apache/xalan/xsltc/compiler/VariableRef.java b/src/org/apache/xalan/xsltc/compiler/VariableRef.java
index d71ef37..442cdad 100644
--- a/src/org/apache/xalan/xsltc/compiler/VariableRef.java
+++ b/src/org/apache/xalan/xsltc/compiler/VariableRef.java
@@ -68,12 +68,10 @@
 		}
 		else {
 		    il.append(_variable.loadInstruction());
-		    _variable.removeReference(this);
 		}
 	    }
 	    else {
 		il.append(_variable.loadInstruction());
-		_variable.removeReference(this);
 	    }
 	}
 	else {
