diff --git a/README.md b/README.md
index 8bacef6..630ffd7 100644
--- a/README.md
+++ b/README.md
@@ -76,7 +76,7 @@ No need for manual work and manual dependency management. Give it a try and you
 To fully utilise the potential of kink it is recommended to bootstrap your initial dependencies
 (config values, or instances of classes that are standalone, requires no other dependencies than themselves).
 Some people prefer to keep it in `__init__.py` in the top module of your application, other
-create separate `bootstra.py` file for this purpose. Once all is setup the only step left 
+create separate `bootstrap.py` file for this purpose. Once all is setup the only step left 
 is to decorate your classes/functions with `@inject` decorator.
 
 ## Bootstrapping/Adding services manually
diff --git a/kink/container.py b/kink/container.py
index caa1171..d0a24d1 100644
--- a/kink/container.py
+++ b/kink/container.py
@@ -38,7 +38,10 @@ class Container:
             return service
 
         if key in self._aliases:
-            service = self._get(self._aliases[key][0])  # By default return first aliased service
+            unaliased_key = self._aliases[key][0] # By default return first aliased service
+            if unaliased_key in self._factories:
+                return self._factories[unaliased_key](self)
+            service = self._get(unaliased_key)  
 
         if service is not _MISSING_SERVICE:
             return service

diff --git a/tests/test_issue_aliased_factory.py b/tests/test_issue_aliased_factory.py
new file mode 100644
index 0000000..54105f7
--- /dev/null
+++ b/tests/test_issue_aliased_factory.py
@@ -0,0 +1,17 @@
+
+from kink import inject, di
+
+class Repository:
+   pass
+
+@inject(alias=Repository, use_factory=True)
+class PerInstanceRepository(Repository):
+   pass
+
+@inject
+class Service:
+   def __init__(self, repository: Repository):
+      pass
+   
+def test_can_inject_aliased_factory_services():
+   di[Service]
\ No newline at end of file

cannot alias a factory service with inject
`inject` cannot find services which are both aliased and factoried.  For example:

    class Repository: ...

    @inject(alias=Repository, use_factory=True)
    class PerInstanceRepository(Repository): ...

    @inject
    class Service:
       def __init__(self, repository: Repository): ...

`Container.__getitem__` looks for factory services before resolving aliases.  However, factories are not referenced again after aliases are resolved.
tests/test_issue_aliased_factory.py::test_can_inject_aliased_factory_services