diff --git a/userspace/rootfs_override/wr/sbin/startup-mb.sh b/userspace/rootfs_override/wr/sbin/startup-mb.sh
index 583a80925e8574e4fc06527ceb1cea40427ded70..9b02a89e0397d66e3e04b9f68447c7029c902dc9 100755
--- a/userspace/rootfs_override/wr/sbin/startup-mb.sh
+++ b/userspace/rootfs_override/wr/sbin/startup-mb.sh
@@ -1,6 +1,7 @@
 #!/bin/ash
 export WR_HOME="/wr"
 LOAD_FPGA_STATUS_FILE="/tmp/load_fpga_status"
+LOAD_LM32_STATUS_FILE="/tmp/load_lm32_status"
 
 # Get parameter from kernel commandline
 for arg in $(cat /proc/cmdline); do
@@ -32,6 +33,7 @@ if ! [ -f "$FP_FILE" ]; then
 fi
 if ! [ -f "$LM_FILE" ]; then
     echo "Fatal: can't find \"$LM_FILE\"" >& 2
+    echo "load_file_not_found" > $LOAD_LM32_STATUS_FILE
     exit 1;
 fi
 
@@ -45,6 +47,14 @@ else
 fi
 
 $WR_HOME/bin/load-lm32   $LM_FILE scb_ver=${scb_ver}
+if [ $? -eq 0 ];
+then
+    echo "load_ok" > $LOAD_LM32_STATUS_FILE
+else
+    echo "Fatal: load LM32 failed" >& 2
+    echo "load_error" > $LOAD_LM32_STATUS_FILE
+fi
+
 insmod $WR_HOME/lib/modules/at91_softpwm.ko
 insmod $WR_HOME/lib/modules/wr_vic.ko
 insmod $WR_HOME/lib/modules/wr-nic.ko macaddr=$val
diff --git a/userspace/snmpd/WR-SWITCH-MIB.txt b/userspace/snmpd/WR-SWITCH-MIB.txt
index 1b6dbefe667f2f82679a9af51b060bb93438c9d4..dc13a0add8bda5a51d113343f61d8b3351562fb2 100644
--- a/userspace/snmpd/WR-SWITCH-MIB.txt
+++ b/userspace/snmpd/WR-SWITCH-MIB.txt
@@ -352,6 +352,23 @@ wrsBootLoadFPGA  OBJECT-TYPE
         fileNotFound - file to be loaded not found"
     ::= { wrsBootStatusGroup 11 }
 
+wrsBootLoadLM32  OBJECT-TYPE
+    SYNTAX       INTEGER {
+                        na(0),
+                        ok(1),
+                        error(2),
+                        errorMinor(3),
+                        fileNotFound(4)
+    }
+    MAX-ACCESS    read-only
+    STATUS        current
+    DESCRIPTION
+        "Result of loading LM32
+        error - loading failed
+        errorMinor - cannot read status file, problem is probably somewhere else
+        fileNotFound - file to be loaded not found"
+    ::= { wrsBootStatusGroup 12 }
+
 -- wrsTemperatureGroup (.7.1.3)
 wrsTemperatureGroup     OBJECT IDENTIFIER ::= { wrsOperationStatus 3 }
 
diff --git a/userspace/snmpd/wrsBootStatusGroup.c b/userspace/snmpd/wrsBootStatusGroup.c
index a8cf1cf9d9d6b92dfd4e9450a76c2fc966896e14..4a51202c2ae5b2db4e9a97046e6cba164e877288 100644
--- a/userspace/snmpd/wrsBootStatusGroup.c
+++ b/userspace/snmpd/wrsBootStatusGroup.c
@@ -12,6 +12,7 @@
 
 #define HWINFO_FILE "/tmp/hwinfo_read_status"
 #define LOAD_FPGA_STATUS_FILE "/tmp/load_fpga_status"
+#define LOAD_LM32_STATUS_FILE "/tmp/load_lm32_status"
 
 /* Macros for fscanf function to read line with maximum of "x" characters
  * without new line. Macro expands to something like: "%10[^\n]" */
@@ -34,6 +35,7 @@ static struct pickinfo wrsBootStatus_pickinfo[] = {
 	FIELD(wrsBootStatus_s, ASN_INTEGER, wrsBootConfigStatus),
 	FIELD(wrsBootStatus_s, ASN_INTEGER, wrsBootHwinfoReadout),
 	FIELD(wrsBootStatus_s, ASN_INTEGER, wrsBootLoadFPGA),
+	FIELD(wrsBootStatus_s, ASN_INTEGER, wrsBootLoadLM32),
 };
 
 struct wrsBootStatus_s wrsBootStatus_s;
@@ -197,7 +199,7 @@ static void get_dotconfig_source(void)
 
 /* get status of execution of following scripts:
  * /etc/init.d/S90hwinfo
- * /wr/sbin/startup-mb.sh
+ * /wr/sbin/startup-mb.sh (load FPGA and LM32)
  * */
 static void get_boot_scripts_status(void){
 	static int run_once = 0;
@@ -253,6 +255,28 @@ static void get_boot_scripts_status(void){
 		wrsBootStatus_s.wrsBootLoadFPGA =
 					WRS_BOOT_LOAD_FPGA_ERROR_MINOR;
 	}
+
+	/* result of loading LM32 */
+	f = fopen(LOAD_LM32_STATUS_FILE, "r");
+	if (f) {
+		/* readline without newline */
+		fscanf(f, LINE_READ_LEN(20), buff);
+		fclose(f);
+		if (!strncmp(buff, "load_ok", 20))
+			wrsBootStatus_s.wrsBootLoadLM32 =
+						WRS_BOOT_LOAD_LM32_OK;
+		else if (!strncmp(buff, "load_file_not_found", 20))
+			wrsBootStatus_s.wrsBootLoadLM32 =
+					WRS_BOOT_LOAD_LM32_FILE_NOT_FOUND;
+		else /*  */
+			wrsBootStatus_s.wrsBootLoadLM32 =
+						WRS_BOOT_LOAD_LM32_ERROR;
+	} else {
+		/* status file not found, probably something else caused
+		 * a problem */
+		wrsBootStatus_s.wrsBootLoadLM32 =
+					WRS_BOOT_LOAD_LM32_ERROR_MINOR;
+	}
 }
 
 
diff --git a/userspace/snmpd/wrsBootStatusGroup.h b/userspace/snmpd/wrsBootStatusGroup.h
index e8e0afe7de37803746e4c4935fe303ae6c530593..0b7d872000a359366a0943e388abeccb0a16e6b5 100644
--- a/userspace/snmpd/wrsBootStatusGroup.h
+++ b/userspace/snmpd/wrsBootStatusGroup.h
@@ -32,6 +32,11 @@
 #define WRS_BOOT_LOAD_FPGA_ERROR_MINOR 3	/* warning */
 #define WRS_BOOT_LOAD_FPGA_FILE_NOT_FOUND 4	/* error */
 
+#define WRS_BOOT_LOAD_LM32_OK 1			/* ok */
+#define WRS_BOOT_LOAD_LM32_ERROR 2		/* error */
+#define WRS_BOOT_LOAD_LM32_ERROR_MINOR 3	/* warning */
+#define WRS_BOOT_LOAD_LM32_FILE_NOT_FOUND 4	/* error */
+
 struct wrsBootStatus_s {
 	uint32_t wrsBootCnt;		/* boots since power-on must be != 0 */
 	uint32_t wrsRebootCnt;		/* soft reboots since hard reboot
@@ -45,6 +50,7 @@ struct wrsBootStatus_s {
 	int32_t wrsBootConfigStatus;
 	int32_t wrsBootHwinfoReadout;
 	int32_t wrsBootLoadFPGA;
+	int32_t wrsBootLoadLM32;
 };
 
 extern struct wrsBootStatus_s wrsBootStatus_s;