         for propName, propSpec of propSpecs
             @_props[propName] = new ReactiveVar @props[propName],
                 propSpec.same ? J.util.equals
-            @prop[propName] = do (propName) => =>
+            @prop[propName] = do (propName, propSpec) => =>
+                _pushDebugFlag propSpec.debug ? componentSpec.debug
                 ret = @_props[propName].get()
                 if componentDebug then console.log _getDebugPrefix(@), "prop.#{propName}()", ret
+                _popDebugFlag()
                 ret
 
         # Set up @reactives

                    stateFromRoute[stateFieldName]
                else if _.isFunction stateFieldSpec.default
                    # TODO: If the type is J.$function then use the other if-branch
                    if componentDebug then console.log _getDebugPrefix(@), "#{stateFieldName} !default()"
                    _debugDepth += 1
                    ret = stateFieldSpec.default.apply @
                    if componentDebug then console.log _getDebugPrefix(), ret
                    _debugDepth -= 1
                    ret
                else
                    stateFieldSpec.default

    delete reactSpec.props
    delete reactSpec.state
    delete reactSpec.reactives
    delete reactSpec.debug

    reactSpec.displayName = componentName

