diff --git a/src/git-source-provider.ts b/src/git-source-provider.ts
index 487385c..a96afba 100644
--- a/src/git-source-provider.ts
+++ b/src/git-source-provider.ts
@@ -177,8 +177,11 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
         core.endGroup()
 
         // Clean existing submodules
-        await git.submoduleReset(settings.nestedSubmodules)
-        await git.submoduleClean(settings.nestedSubmodules)
+        if (settings.clean)
+        {
+            await git.submoduleReset(settings.nestedSubmodules)
+            await git.submoduleClean(settings.nestedSubmodules)
+        }
 
         // Checkout submodules
         core.startGroup('Fetching submodules')