diff --git a/src/main/java/org/codehaus/groovy/util/LazyReference.java b/src/main/java/org/codehaus/groovy/util/LazyReference.java
index bd091ddc5b..a211f26d08 100644
--- a/src/main/java/org/codehaus/groovy/util/LazyReference.java
+++ b/src/main/java/org/codehaus/groovy/util/LazyReference.java
@@ -28,7 +28,7 @@ public abstract class LazyReference<T> extends LockableObject {
     private ManagedReference<T> reference = INIT;
     private final ReferenceBundle bundle;
 
-    public LazyReference(ReferenceBundle bundle) { 
+    public LazyReference(ReferenceBundle bundle) {
         this.bundle = bundle;
     }
 
@@ -46,7 +46,11 @@ public abstract class LazyReference<T> extends LockableObject {
         lock ();
         try {
             ManagedReference<T> resRef = reference;
-            if (!force && resRef != INIT) return resRef.get();
+            if (!force && resRef != INIT) {
+                T res = resRef.get();
+                if (res != null)
+                    return res;
+            }
             T res = initValue();
             if (res == null) {
                 reference = NULL_REFERENCE;
