diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/ui/help/OTJLDError.java b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/ui/help/OTJLDError.java
index a7efcba..1b1dd94 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/ui/help/OTJLDError.java
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/src/org/eclipse/objectteams/otdt/ui/help/OTJLDError.java
@@ -41,6 +41,8 @@
     private static final Pattern SUBSECTION_PATTERN = Pattern.compile("(.*)\\s*\\(\\s*(.*)\\s*\\).*");
     public static final String URL_PATH = "guide/otjld/xdef/";
     
+    static boolean contentInitialized = false;
+    
     public static class OTURL
     {
         private URL m_url; // the plugin-relative url to the document
@@ -80,7 +82,11 @@
             String result = null;
             try
             {
-                result = FileLocator.resolve(m_url).toString();
+            	if (!contentInitialized) {
+            		FileLocator.toFileURL(OTHelpPlugin.getDefault().getBundle().getEntry(OTJLDError.URL_PATH));
+            		contentInitialized = true;
+            	}
+                result = FileLocator.toFileURL(m_url).toString();
                 result += m_anchor;
             }
             catch (IOException ex)
