diff --git a/wmake/makefiles/files b/wmake/makefiles/files
index 521d9341ad30718b9deca408ab1361b8c42afb92..c17179eaaad33232d3c74723a98282261af03dea 100644
--- a/wmake/makefiles/files
+++ b/wmake/makefiles/files
@@ -47,7 +47,7 @@ SFILES          = $(OBJECTS_DIR)/sourceFiles
 
 
 #------------------------------------------------------------------------------
-# Declare dependecy of all make system files on FILES
+# Declare dependency of all make system files on FILES
 # Causes all derived files to be remade if any are changed or missing
 #------------------------------------------------------------------------------
 
diff --git a/wmake/makefiles/general b/wmake/makefiles/general
index 580e96c7b2e4a3f417de87dc7ce402c36c06b47f..b9a4f9972578712019763e2ee17793669155f225 100644
--- a/wmake/makefiles/general
+++ b/wmake/makefiles/general
@@ -184,7 +184,7 @@ lnInclude: $(MAKE_DIR)/files $(MAKE_DIR)/options
 
 
 #------------------------------------------------------------------------------
-# Declare all qbject files depend on $(OBJECTS_DIR)/options
+# Declare all object files depend on $(OBJECTS_DIR)/options
 #------------------------------------------------------------------------------
 
 $(OBJECTS) : $(OBJECTS_DIR)/options
@@ -192,13 +192,15 @@ $(foreach S,$(SOURCE),$(eval $(OBJECTS_DIR)/$(basename $S).o : $(OBJECTS_DIR)/$S
 
 
 #------------------------------------------------------------------------------
-# Set depedency rule and include dependency lists
+# Set dependency rule and include dependency lists
 #------------------------------------------------------------------------------
 
-.PHONY: dep
+.PHONY: dep updatedep
 dep: $(DEPENDENCIES)
 
-ifeq ($(findstring lnInclude,$(MAKECMDGOALS)),)
+updatedep: dep
+
+ifeq ($(findstring lnInclude,$(MAKECMDGOALS))$(findstring updatedep,$(MAKECMDGOALS)),)
 -include $(DEPENDENCIES)
 endif
 
diff --git a/wmake/scripts/AllwmakeParseArguments b/wmake/scripts/AllwmakeParseArguments
index 433efafd52d144dd0b95354254563d013b266b92..941ad649285312e3d48abed21ea13adb34ace7b7 100644
--- a/wmake/scripts/AllwmakeParseArguments
+++ b/wmake/scripts/AllwmakeParseArguments
@@ -127,6 +127,9 @@ do
         -update)
             wrmdep -update
             wmakeLnIncludeAll
+
+            # Set WM_UPDATE_DEPENDENCIES, so that wmake will pick up on it
+            export WM_UPDATE_DEPENDENCIES=yes
             ;;
         # Generate documentation
         doc)
diff --git a/wmake/wmake b/wmake/wmake
index c09088b99ff8090c0de868b50e9b03c007e9270d..821c5bbf22c527ece69da85db17a8f9878bbf5b1 100755
--- a/wmake/wmake
+++ b/wmake/wmake
@@ -82,6 +82,7 @@ or a special target:
   libo              Compile statically linked lib (.o)
   libso             Compile dynamically linked lib (.so)
   dep               Compile lnInclude and dependencies only
+  updatedep         Compile dependencies only (in case of broken dependencies)
 
 USAGE
     exit 1
@@ -378,6 +379,26 @@ case "$targetType" in
 esac
 
 
+#------------------------------------------------------------------------------
+# When WM_UPDATE_DEPENDENCIES is set, use forced dependency files update
+#------------------------------------------------------------------------------
+
+if [ -n "$WM_UPDATE_DEPENDENCIES" ]
+then
+
+    $make -f $WM_DIR/makefiles/general MAKE_DIR=$MakeDir \
+        OBJECTS_DIR=$objectsDir updatedep
+    makeExitCode=$?
+
+    if [ $makeExitCode -ne 0 ]
+    then
+        exit $makeExitCode
+    fi
+
+    unset makeExitCode
+fi
+
+
 #------------------------------------------------------------------------------
 # Make the dependency files or object files and link
 #------------------------------------------------------------------------------