diff --git a/Changelog b/Changelog
index 8111e07..9154f9a 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,4 @@
+- Fix unconfined_r use of unconfined_java_t.
- Add missing x_device rules for XI2 functions, from Eamon Walsh.
- Add missing rules to make unconfined_cronjob_t a valid cron job domain.
- Add btrfs and ext4 to labeling targets.
diff --git a/policy/modules/apps/java.if b/policy/modules/apps/java.if
index a620f39..ec61413 100644
--- a/policy/modules/apps/java.if
+++ b/policy/modules/apps/java.if
@@ -68,3 +68,27 @@ interface(`java_domtrans_unconfined',`
domtrans_pattern($1, java_exec_t, unconfined_java_t)
corecmd_search_bin($1)
')
+
+########################################
+##
+## Execute the java program in the unconfined java domain.
+##
+##
+##
+## Domain allowed access.
+##
+##
+##
+##
+## Role allowed access.
+##
+##
+#
+interface(`java_run_unconfined',`
+ gen_require(`
+ type unconfined_java_t;
+ ')
+
+ java_domtrans_unconfined($1)
+ role $2 types unconfined_java_t;
+')
diff --git a/policy/modules/apps/java.te b/policy/modules/apps/java.te
index 3c4657f..47ea763 100644
--- a/policy/modules/apps/java.te
+++ b/policy/modules/apps/java.te
@@ -1,5 +1,5 @@
-policy_module(java, 2.1.0)
+policy_module(java, 2.1.1)
########################################
#
diff --git a/policy/modules/system/unconfined.te b/policy/modules/system/unconfined.te
index 0f2cfb6..662e60d 100644
--- a/policy/modules/system/unconfined.te
+++ b/policy/modules/system/unconfined.te
@@ -1,5 +1,5 @@
-policy_module(unconfined, 3.0.0)
+policy_module(unconfined, 3.0.1)
########################################
#
@@ -123,7 +123,7 @@ optional_policy(`
')
optional_policy(`
- java_domtrans_unconfined(unconfined_t)
+ java_run_unconfined(unconfined_t, unconfined_r)
')
optional_policy(`