diff --git a/space_view3d_panel_measure.py b/space_view3d_panel_measure.py
index 5a7c2cec3bb6338b7824eceee4eb3914d73a5e47..436fc30f448ea656d65d7f36ca8893cbc18d8c8c 100644
--- a/space_view3d_panel_measure.py
+++ b/space_view3d_panel_measure.py
@@ -19,13 +19,15 @@
 bl_addon_info = {
     "name": "3D View: Measure Panel",
     "author": "Buerbaum Martin (Pontiac)",
-    "version": "0.7",
+    "version": "0.7.7",
     "blender": (2, 5, 3),
     "location": "View3D > Properties > Measure",
     "description": "Measure distances between objects",
     "warning": "",
-    "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/3D_interaction/Panel_Measure",
-    "tracker_url": "https://projects.blender.org/tracker/index.php?func=detail&aid=21445&group_id=153&atid=469",
+    "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/" \
+        "Scripts/3D_interaction/Panel_Measure",
+    "tracker_url": "https://projects.blender.org/tracker/index.php?" \
+        "func=detail&aid=21445&group_id=153&atid=469",
     "category": "3D View"}
 
 """
@@ -55,6 +57,9 @@ It's very helpful to use one or two "Empty" objects with
 "Snap during transform" enabled for fast measurement.
 
 Version history:
+v0.7.7 - One more change to the callback registration code.
+    Now it should finally work as intended.
+v0.7.6 - API changes (r885, r886) - register & unregister function
 v0.7.5.3 - Small fix for bug in v0.7.5.1
     (location was off when object was moved)
 v0.7.5.2 - Changed callback registration back to original code &
@@ -588,7 +593,9 @@ def draw_measurements_callback(self, context):
 
 class VIEW3D_OT_display_measurements(bpy.types.Operator):
     '''Display the measurements made in the 'Measure' panel'''
-    bl_idname = "view3d.display_measurements"
+    # Do not use bl_idname here (class name is used instead),
+    # so the callback can be added easily.
+    #bl_idname = "view3d.display_measurements"
     bl_label = "Display the measurements made in the" \
         " 'Measure' panel in the 3D View."
     bl_options = {'REGISTER'}
@@ -600,7 +607,8 @@ class VIEW3D_OT_display_measurements(bpy.types.Operator):
 
     def execute(self, context):
         if context.area.type == 'VIEW_3D':
-            if not self.bl_idname in context.manager.operators.keys():
+            mgr_ops = context.manager.operators.values();
+            if not self.bl_idname in [op.bl_idname for op in mgr_ops]:
                 # Add the region OpenGL drawing callback
                 for WINregion in context.area.regions:
                     if WINregion.type == 'WINDOW':