diff --git a/src/script/nix-prefetch-git b/src/script/nix-prefetch-git
index 13acb003..3fe399c8 100755
--- a/src/script/nix-prefetch-git
+++ b/src/script/nix-prefetch-git
@@ -139,15 +139,8 @@ init_submodules(){
     git submodule init
 
     # list submodule directories and their hashes
-    git submodule status |
-    while read l; do
-        # checkout each submodule
-        local hash=$(echo $l | sed 's,^-\([0-9a-f]*\) \(.*\)$,\1,');
-        local dir=$(echo $l | sed 's,^-\([0-9a-f]*\) \(.*\)$,\2,');
-        local url=$(sed -n "\,$dir, { :loop; n; s,^.*url = ,,; T loop; p; q }" .git/config);
-
-        clone "$dir" "$url" "$hash" "";
-    done;
+    git submodule update
+    git submodule status
 }
 
 clone(){