diff --git a/roles/core/ports/init.sls b/roles/core/ports/init.sls
--- a/roles/core/ports/init.sls
+++ b/roles/core/ports/init.sls
@@ -8,9 +8,12 @@
 
 {% if grains['os'] == 'FreeBSD' %}
 
+portsnap:
+  pkg.installed
+
 /usr/ports:
   cmd.run:
     - name: portsnap --interactive fetch extract
-    - creates: /usr/ports
+    - creates: /usr/ports/Makefile
 
 {% endif %}