diff --git a/kernel_module_loader.cpp b/kernel_module_loader.cpp
index 1f30d0d..db7fcc9 100644
--- a/kernel_module_loader.cpp
+++ b/kernel_module_loader.cpp
@@ -1,4 +1,5 @@
 #include "kernel_module_loader.hpp"
+#include "common.h"
 
 const std::vector<std::string> kernel_modules_requested = TWFunc::split_string(EXPAND(TW_LOAD_VENDOR_MODULES), ' ', true);
 
@@ -58,6 +59,10 @@
 	if (ven)
 		ven->UnMount(false);
 
+	android::base::SetProperty("twrp.modules.loaded", "true");
+
+	TWFunc::Wait_For_Battery(3s);
+
 	return true;
 }
 
diff --git a/twrp-functions.cpp b/twrp-functions.cpp
index 350d840..15d4bdd 100755
--- a/twrp-functions.cpp
+++ b/twrp-functions.cpp
@@ -38,8 +38,10 @@
 #include <cctype>
 #include <algorithm>
 #include <selinux/label.h>
+#include <thread>
 
 #include <android-base/strings.h>
+#include <android-base/chrono_utils.h>
 
 #include "twrp-functions.hpp"
 #include "twcommon.h"
@@ -407,6 +409,30 @@
 			((start.tv_sec * 1000) + start.tv_nsec/1000000);
 }
 
+bool TWFunc::Wait_For_File(const string& path, std::chrono::nanoseconds timeout) {
+    android::base::Timer t;
+    while (t.duration() < timeout) {
+        struct stat sb;
+        if (stat(path.c_str(), &sb) != -1) {
+            return true;
+        }
+        std::this_thread::sleep_for(10ms);
+    }
+	return false;
+}
+
+bool TWFunc::Wait_For_Battery(std::chrono::nanoseconds timeout) {
+	std::string battery_path;
+#ifdef TW_CUSTOM_BATTERY_PATH
+	battery_path = EXPAND(TW_CUSTOM_BATTERY_PATH);
+#else
+	battery_path = "/sys/class/power_supply/battery";
+#endif
+	if (!battery_path.empty()) return TWFunc::Wait_For_File(battery_path, timeout);
+
+	return false;
+}
+
 #ifndef BUILD_TWRPTAR_MAIN
 
 // Returns "/path" from a full /path/to/file.name
diff --git a/twrp-functions.hpp b/twrp-functions.hpp
index 01afb7a..7bec5a6 100755
--- a/twrp-functions.hpp
+++ b/twrp-functions.hpp
@@ -74,6 +74,8 @@
 	static vector<string> split_string(const string &in, char del, bool skip_empty);
 	static timespec timespec_diff(timespec& start, timespec& end);	            // Return a diff for 2 times
 	static int32_t timespec_diff_ms(timespec& start, timespec& end);            // Returns diff in ms
+	static bool Wait_For_File(const string& path, std::chrono::nanoseconds timeout); // Wait For File, True is success, False is timeout;
+	static bool Wait_For_Battery(std::chrono::nanoseconds timeout);             // Wait For /sys/class/power_supply/battery or TW_CUSTOM_BATTERY_PATH, True is success, False is timeout;
 
 #ifndef BUILD_TWRPTAR_MAIN
 	static void install_htc_dumlock(void);                                      // Installs HTC Dumlock
