diff --git a/framework/src/main/java/org/apache/felix/framework/ExportedPackageImpl.java b/framework/src/main/java/org/apache/felix/framework/ExportedPackageImpl.java
index 02cd2f7..30b0d0e 100644
--- a/framework/src/main/java/org/apache/felix/framework/ExportedPackageImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/ExportedPackageImpl.java
@@ -30,8 +30,8 @@
     private final BundleImpl m_exportingBundle;
     private final IModule m_exportingModule;
     private final Capability m_export;
-    private String m_toString = null;
-    private String m_versionString = null;
+    private volatile String m_toString = null;
+    private volatile String m_versionString = null;
 
     public ExportedPackageImpl(
         Felix felix, BundleImpl exporter, IModule module, Capability export)
diff --git a/framework/src/main/java/org/apache/felix/framework/RequiredBundleImpl.java b/framework/src/main/java/org/apache/felix/framework/RequiredBundleImpl.java
index 970b0ef..8b77274 100644
--- a/framework/src/main/java/org/apache/felix/framework/RequiredBundleImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/RequiredBundleImpl.java
@@ -35,6 +35,8 @@
 {
     private final Felix m_felix;
     private final BundleImpl m_bundle;
+    private volatile String m_toString = null;
+    private volatile String m_versionString = null;
 
     public RequiredBundleImpl(Felix felix, BundleImpl bundle)
     {
@@ -91,18 +93,21 @@
 
     public Version getVersion()
     {
-        ICapability[] caps = 
-            Util.getCapabilityByNamespace(
-                m_bundle.getCurrentModule(), ICapability.MODULE_NAMESPACE);
-        if ((caps != null) && (caps.length > 0))
-        {
-            return (Version) caps[0].getProperties().get(Constants.BUNDLE_VERSION_ATTRIBUTE);
-        }
-        return null;
+        return m_bundle.getCurrentModule().getVersion();
     }
 
     public boolean isRemovalPending()
     {
         return m_bundle.isRemovalPending();
     }
+
+    public String toString()
+    {
+        if (m_toString == null)
+        {
+            m_toString = m_bundle.getSymbolicName()
+                + "; version=" + m_bundle.getCurrentModule().getVersion();
+        }
+        return m_toString;
+    }
 }
\ No newline at end of file
