Index: src/keys/versetreekey.cpp
===================================================================
--- src/keys/versetreekey.cpp	(revision 2464)
+++ src/keys/versetreekey.cpp	(working copy)
@@ -183,7 +183,7 @@
 
 void VerseTreeKey::positionChanged() {
 	if (!internalPosChange) {
-		TreeKey *tkey = this->TreeKey::PositionChangeListener::getTreeKey();
+		TreeKey *tkey = this->PositionChangeListener::getTreeKey();
 		int saveError = tkey->Error();
 		long bookmark = tkey->getOffset();
 		SWBuf seg[4];
Index: include/versetreekey.h
===================================================================
--- include/versetreekey.h	(revision 2464)
+++ include/versetreekey.h	(working copy)
@@ -36,7 +36,7 @@
  * Class VerseKey
  * The SWKey implementation used for verse based modules like Bibles or commentaries.
  */
-class SWDLLEXPORT VerseTreeKey : public VerseKey, public TreeKey::PositionChangeListener {
+class SWDLLEXPORT VerseTreeKey : public VerseKey, public PositionChangeListener {
 
 	static SWClass classdef;
 	TreeKey *treeKey;
Index: include/treekey.h
===================================================================
--- include/treekey.h	(revision 2464)
+++ include/treekey.h	(working copy)
@@ -30,6 +30,18 @@
 
 SWORD_NAMESPACE_START
 
+
+	class SWDLLEXPORT PositionChangeListener {
+		class TreeKey *treeKey;
+	    public:
+		PositionChangeListener() {}
+		virtual ~PositionChangeListener() {}
+		virtual void positionChanged() = 0;
+		TreeKey *getTreeKey() { return treeKey; }
+		void setTreeKey(TreeKey *tk) { treeKey = tk; }
+	};
+
+
 /**
  * Class TreeKey
  * The base class for all tree-based key implementations in Sword.
@@ -50,15 +62,7 @@
 
 public:
 
-	class PositionChangeListener {
-		TreeKey *treeKey;
-	public:
-		PositionChangeListener() {}
-		virtual ~PositionChangeListener() {}
-		virtual void positionChanged() = 0;
-		TreeKey *getTreeKey() { return treeKey; }
-		void setTreeKey(TreeKey *tk) { treeKey = tk; }
-	} *posChangeListener;
+	class PositionChangeListener *posChangeListener;
 
 	void setPositionChangeListener(PositionChangeListener *pcl) { posChangeListener = pcl; posChangeListener->setTreeKey(this); }
 
@@ -137,5 +141,7 @@
 
 	};
 
+
+
 SWORD_NAMESPACE_END
 #endif
