diff --git a/src/Reactix/React.js b/src/Reactix/React.js
index 15b4ba58d6564922641c0a7f01a9612e2e4f942e..3fce44cf1968e21cd2053a25118f0b25e066451d 100644
--- a/src/Reactix/React.js
+++ b/src/Reactix/React.js
@@ -47,4 +47,4 @@ exports._createContext = function(ctor, val) {
 
 exports._render = function(a,b) { return react_dom.render(a,b); };
 
-exports._named = function(name, f) { f.name = name; return f; };
+exports._named = function(name, f) { Object.defineProperty(f, 'name', {value: name, writable: false}); return f; };
diff --git a/src/Reactix/React.purs b/src/Reactix/React.purs
index eecad61e4f73cbfde4118345f6ec690e659db2b7..3294901c23f35546ef34166552fdba24927c17e6 100644
--- a/src/Reactix/React.purs
+++ b/src/Reactix/React.purs
@@ -74,7 +74,7 @@ pureLeaf ::
   => String
   -> (Record props -> Element)
   -> Component props
-pureLeaf name f = named named $ Component (mkEffectFn1 $ pure <<< f)
+pureLeaf name f = named name $ Component (mkEffectFn1 $ pure <<< f)
 
 -- | Creates a pure tree component from a function
 pureTree ::
diff --git a/test/Reactix/React/Spec.purs b/test/Reactix/React/Spec.purs
index 6292f697dad19d70b8fa893cc49f0ca7838f49d9..2e945200da2c73c4c0122b2f358dd2511923a269 100644
--- a/test/Reactix/React/Spec.purs
+++ b/test/Reactix/React/Spec.purs
@@ -46,7 +46,7 @@ staticTest =
 type CounterProps = ( count :: Int )
 
 counterCpt :: R.Component CounterProps
-counterCpt = R.hooksLeaf cpt
+counterCpt = R.hooksLeaf "Counter" cpt
   where
     cpt :: forall m. R.MonadHooks m => Record CounterProps -> m R.Element
     cpt {count} = do