diff --git a/substrate/node/runtime/src/lib.rs b/substrate/node/runtime/src/lib.rs
index b06ba19ee50e0e4ea3a739ec79d723637a3ead7b..7495190464693be834141fdf74ad97c86f368042 100644
--- a/substrate/node/runtime/src/lib.rs
+++ b/substrate/node/runtime/src/lib.rs
@@ -84,8 +84,8 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
 	// and set impl_version to equal spec_version. If only runtime
 	// implementation changes and behavior does not, then leave spec_version as
 	// is and increment impl_version.
-	spec_version: 171,
-	impl_version: 171,
+	spec_version: 172,
+	impl_version: 172,
 	apis: RUNTIME_API_VERSIONS,
 };
 
@@ -497,7 +497,7 @@ construct_runtime!(
 		UncheckedExtrinsic = UncheckedExtrinsic
 	{
 		System: system::{Module, Call, Storage, Config, Event},
-		Utility: utility::{Module, Call, Event<T>},
+		Utility: utility::{Module, Call, Event},
 		Babe: babe::{Module, Call, Storage, Config, Inherent(Timestamp)},
 		Timestamp: timestamp::{Module, Call, Storage, Inherent},
 		Authorship: authorship::{Module, Call, Storage, Inherent},
diff --git a/substrate/srml/utility/src/lib.rs b/substrate/srml/utility/src/lib.rs
index 9fe34ee2d0ec0d1223edb5e5ce1f4b03e3fd8d11..c0b1954da9bb5b6ed51b7699447d4ba59024c14f 100644
--- a/substrate/srml/utility/src/lib.rs
+++ b/substrate/srml/utility/src/lib.rs
@@ -23,27 +23,21 @@
 use rstd::prelude::*;
 use support::{decl_module, decl_event, Parameter};
 use system::ensure_root;
-use sr_primitives::{
-	traits::{Dispatchable, DispatchResult}, weights::SimpleDispatchInfo
-};
+use sr_primitives::{traits::Dispatchable, weights::SimpleDispatchInfo, DispatchError};
 
 /// Configuration trait.
 pub trait Trait: system::Trait {
 	/// The overarching event type.
-	type Event: From<Event<Self>> + Into<<Self as system::Trait>::Event>;
+	type Event: From<Event> + Into<<Self as system::Trait>::Event>;
 
 	/// The overarching call type.
 	type Call: Parameter + Dispatchable<Origin=Self::Origin>;
 }
 
-pub type DispatchResultOf<T> = DispatchResult<<<T as Trait>::Call as Dispatchable>::Error>;
-
 decl_event!(
 	/// Events type.
-	pub enum Event<T> where
-		DispatchResult = DispatchResultOf<T>,
-	{
-		BatchExecuted(Vec<DispatchResult>),
+	pub enum Event {
+		BatchExecuted(Vec<Result<(), DispatchError>>),
 	}
 );
 
@@ -58,8 +52,9 @@ decl_module! {
 			ensure_root(origin)?;
 			let results = calls.into_iter()
 				.map(|call| call.dispatch(system::RawOrigin::Root.into()))
+				.map(|res| res.map_err(Into::into))
 				.collect::<Vec<_>>();
-			Self::deposit_event(RawEvent::BatchExecuted(results));
+			Self::deposit_event(Event::BatchExecuted(results));
 		}
 	}
 }