Index: kernel/generic/src/sysinfo/sysinfo.c
===================================================================
--- kernel/generic/src/sysinfo/sysinfo.c	(revision acda8f0d860aed5b8131e3a02a130210c66dbed7)
+++ kernel/generic/src/sysinfo/sysinfo.c	(revision aeb6f25d955b4d89927969b4bc4d20c34d515e89)
@@ -729,4 +729,8 @@
 	   binary data since we request a dry run */
 	sysinfo_return_t ret = sysinfo_get_item_uspace(path_ptr, path_size, true);
+
+	spinlock_unlock(&sysinfo_lock);
+	interrupts_restore(ipl);
+	
 	int rc;
 	
@@ -737,7 +741,4 @@
 		rc = EINVAL;
 	
-	spinlock_unlock(&sysinfo_lock);
-	interrupts_restore(ipl);
-	
 	return (unative_t) rc;
 }
@@ -770,4 +771,8 @@
 	   binary data since we request a dry run */
 	sysinfo_return_t ret = sysinfo_get_item_uspace(path_ptr, path_size, true);
+
+	spinlock_unlock(&sysinfo_lock);
+	interrupts_restore(ipl);
+	
 	int rc;
 	
@@ -779,7 +784,4 @@
 		rc = EINVAL;
 	
-	spinlock_unlock(&sysinfo_lock);
-	interrupts_restore(ipl);
-	
 	return (unative_t) rc;
 }
@@ -814,4 +816,8 @@
 	/* Get the item */
 	sysinfo_return_t ret = sysinfo_get_item_uspace(path_ptr, path_size, false);
+
+	spinlock_unlock(&sysinfo_lock);
+	interrupts_restore(ipl);
+
 	int rc;
 	
@@ -831,7 +837,4 @@
 		free(ret.data.data);
 	
-	spinlock_unlock(&sysinfo_lock);
-	interrupts_restore(ipl);
-	
 	return (unative_t) rc;
 }
