diff --git a/development_edit_operator.py b/development_edit_operator.py
index 54d5424e9f4776e2a84e00dc55a8a697410d7e27..b921051f318e3a2f6fec12603010259406800d87 100644
--- a/development_edit_operator.py
+++ b/development_edit_operator.py
@@ -39,35 +39,38 @@ from bpy.types import (
 from bpy.props import EnumProperty
 
 
-def getclazz(opname):
+def get_py_class_from_op(opname):
     opid = opname.split(".")
     opmod = getattr(bpy.ops, opid[0])
     op = getattr(opmod, opid[1])
     id = op.get_rna().bl_rna.identifier
-    clazz = getattr(bpy.types, id)
-    return clazz
+    # C operators won't be added
+    return getattr(bpy.types, id, None)
 
 
 def getmodule(opname):
-    addon = True
-    clazz = getclazz(opname)
-    modn = clazz.__module__
-
-    try:
-        line = inspect.getsourcelines(clazz)[1]
-    except IOError:
-        line = -1
-    except TypeError:
+    cls = get_py_class_from_op(opname)
+    if cls is None:
+        addon = False
         line = -1
-
-    if modn == 'bpy.types':
         mod = 'C operator'
-        addon = False
-    elif modn != '__main__':
-        mod = sys.modules[modn].__file__
     else:
-        addon = False
-        mod = modn
+        addon = True
+        mod_name = cls.__module__
+        try:
+            line = inspect.getsourcelines(cls)[1]
+        except IOError:
+            line = -1
+        except TypeError:
+            line = -1
+
+        if mod_name == 'bpy.types':
+            addon = False
+        elif mod_name != '__main__':
+            mod = sys.modules[mod_name].__file__
+        else:
+            addon = False
+            mod = mod_name
 
     return mod, line, addon
 
@@ -80,8 +83,8 @@ def get_ops():
         opmoddir = dir(opmod)
         for o in opmoddir:
             name = opmodname + "." + o
-            clazz = getclazz(name)
-            if (clazz.__module__ != 'bpy.types'):
+            cls = get_py_class_from_op(name)
+            if cls is not None:
                 allops.append(name)
         del opmoddir